Релиз-трейны в команде Додо
Чем больше становится количество команд, разрабатывающих фичи в мобильном приложении, тем сложнее организовывать feature-driven релизы – теряется предсказуемость, повышается сложность тестирования интеграции фичей друг с другом.
Стандартное решение проблемы – организация релизного поезда. Все релизы катятся по строгому расписанию, вне зависимости от статуса готовности конкретных фичей. Фича готова – значит, попадет в релиз. Чуть-чуть не успели – поедет в следующий.
Команда Додо рассказала, какие проблемы в процессах подтолкнули их к организации релиз-трейнов, как они внедряли новый процесс, и как он повлиял на метрики разработки: lead time и среднее количество дефектов на релиз.
Чем больше становится количество команд, разрабатывающих фичи в мобильном приложении, тем сложнее организовывать feature-driven релизы – теряется предсказуемость, повышается сложность тестирования интеграции фичей друг с другом.
Стандартное решение проблемы – организация релизного поезда. Все релизы катятся по строгому расписанию, вне зависимости от статуса готовности конкретных фичей. Фича готова – значит, попадет в релиз. Чуть-чуть не успели – поедет в следующий.
Команда Додо рассказала, какие проблемы в процессах подтолкнули их к организации релиз-трейнов, как они внедряли новый процесс, и как он повлиял на метрики разработки: lead time и среднее количество дефектов на релиз.
👍16👎3💅1
Media is too big
VIEW IN TELEGRAM
👋Евгений Ртищев, Head of Mobile @ 3Commas, директор ПК @ Podlodka iOS Crew
🔗Топ-5 ссылок за 2022
- Я релоцировался, думаю, что многие хотели бы тоже или будут планировать в 2023. Очень рекомендую тред Жени Мацюка, который собрал копилку различных источников, которые помогут подготовиться к собесам на западный рынок.
- В течение этого года познаю новый дивный мир blockchain, DeFi и web3. Если плаваете в терминологии, то для старта рекомендую Ethereum Learn Hub.
- В iOS в этом году фоново делаю ламповый проект – узнал много нового про UICollectionView + FlowLayout. Очень помог разобраться и освежиться вот этот репозиторий. Отдельно отмечу, что кто не перешёл на DiffableDataSource ещё – строго рекомендую. Пушка.
- Участвовал (и даже занял призовое) в конкурсе телеграма. Прошло уже полтора месяца, а я всё ещё отчётливо помню как круто было поработать и разобраться в связке NSTextStorage, NSLayoutManager, NSTextContainer.
- Ну и конечно Podlodka iOS Crew. В 2022 было 3 сезона – "Перформанс и профайлинг", "Modern iOS Coding", "Advanced Architecture". Выбирайте любой, но мой любимчик – "Modern iOS Coding”.
👀На чем сфокусироваться в 2023
1. Приумножать и диверсифицировать знания. 2023 будет не легче 2022 – найм сокращается, нейронки вытесняют программистов, на мобильном рынке РФ остаются только "избранные" компании, многие под санкциями. Есть много направлений в которые можно смотреть – blockchain, pwa, flutter. Где-то не за горизонтом уже очки. Любое новое знание, расширяющее твоё практическое поле применение – это инвестиция.
2. Делай руками. Читать, смотреть лекции и на опыт других не даст тебе полного понимания и применения технологии – делай руками (даже, если ты менеджер).
3. Создавай, а не только потребляй – просто закон кармы. Но и ещё хороший шаг в самообучении.
🤔Задача для обсуждения в комментах
Как сделать аналог системной фото галереи с плавным Pinch-жестом, и чтобы не лагало при 20к+ фоток (это было в части конкурса телеги)
🔗Топ-5 ссылок за 2022
- Я релоцировался, думаю, что многие хотели бы тоже или будут планировать в 2023. Очень рекомендую тред Жени Мацюка, который собрал копилку различных источников, которые помогут подготовиться к собесам на западный рынок.
- В течение этого года познаю новый дивный мир blockchain, DeFi и web3. Если плаваете в терминологии, то для старта рекомендую Ethereum Learn Hub.
- В iOS в этом году фоново делаю ламповый проект – узнал много нового про UICollectionView + FlowLayout. Очень помог разобраться и освежиться вот этот репозиторий. Отдельно отмечу, что кто не перешёл на DiffableDataSource ещё – строго рекомендую. Пушка.
- Участвовал (и даже занял призовое) в конкурсе телеграма. Прошло уже полтора месяца, а я всё ещё отчётливо помню как круто было поработать и разобраться в связке NSTextStorage, NSLayoutManager, NSTextContainer.
- Ну и конечно Podlodka iOS Crew. В 2022 было 3 сезона – "Перформанс и профайлинг", "Modern iOS Coding", "Advanced Architecture". Выбирайте любой, но мой любимчик – "Modern iOS Coding”.
👀На чем сфокусироваться в 2023
1. Приумножать и диверсифицировать знания. 2023 будет не легче 2022 – найм сокращается, нейронки вытесняют программистов, на мобильном рынке РФ остаются только "избранные" компании, многие под санкциями. Есть много направлений в которые можно смотреть – blockchain, pwa, flutter. Где-то не за горизонтом уже очки. Любое новое знание, расширяющее твоё практическое поле применение – это инвестиция.
2. Делай руками. Читать, смотреть лекции и на опыт других не даст тебе полного понимания и применения технологии – делай руками (даже, если ты менеджер).
3. Создавай, а не только потребляй – просто закон кармы. Но и ещё хороший шаг в самообучении.
🤔Задача для обсуждения в комментах
Как сделать аналог системной фото галереи с плавным Pinch-жестом, и чтобы не лагало при 20к+ фоток (это было в части конкурса телеги)
🔥46🤡22👍15👎4🕊1💅1
Итоги года TCA и Pointfree
Команда Pointfree подбивает итоги года по разработке своих библиотек и созданию контента.
Важные эпизоды:
👀Разработка библиотеки для парсинга (часть эпизодов бесплатные)
👀Обзор всех подходов к многопоточности
👀TCA + Swift Concurrency
👀Новый reducer в TCA
👀Навигация в SwiftUI
Блогпосты:
🔗Unobtrusive runtime warnings
🔗Reverse engineering NavigationPath
🔗Non-exhaustive testing in the TCA
А для тех, кто хочет вкатиться в видео Pointfree, они устраивают распродажу доступа на следующий год.
Команда Pointfree подбивает итоги года по разработке своих библиотек и созданию контента.
Важные эпизоды:
👀Разработка библиотеки для парсинга (часть эпизодов бесплатные)
👀Обзор всех подходов к многопоточности
👀TCA + Swift Concurrency
👀Новый reducer в TCA
👀Навигация в SwiftUI
Блогпосты:
🔗Unobtrusive runtime warnings
🔗Reverse engineering NavigationPath
🔗Non-exhaustive testing in the TCA
А для тех, кто хочет вкатиться в видео Pointfree, они устраивают распродажу доступа на следующий год.
www.pointfree.co
2022 Year-in-review
Point-Free year in review: 45 episodes, 150K visitors, dozens of open source releases, and more!
❤24👎6👍3😁1🤡1💅1
Media is too big
VIEW IN TELEGRAM
👋Евгений Jonfir Ёлчев, iOS Developer @ ВКонтакте
🔗Топ-5 ссылок
- Podlodka: Шестая буква SOLID
- Чистая архитектура. Роберт Мартин
- Виктор Юров: Assembler
- Память в Swift от 0 до 1
- Debug Swift debugging with LLDB
👀На чем сфокусироваться в 2023
1. SwiftUI, фреймворк становится все более популярным, нужно быть готовым к тому моменту, когда он станет стандартом в iOS разработке. Стоит уделить внимание алгоритмам сравнения дерева, что бы не было проблем с перформансом и архитектуре.
2. Swift Concurrency. Его уже можно применять в некоторых задачах, а вскоре он может стать основным способом работы с многопоточностью.
3. Выбрать какой-нибудь язык и сделать на нем пет проект для расширения кругозора: haskell, rust, typescript.
🤔Задача для обсуждения в комментах
Сколько существует способов развернуть опционал в Swift?
🔗Топ-5 ссылок
- Podlodka: Шестая буква SOLID
- Чистая архитектура. Роберт Мартин
- Виктор Юров: Assembler
- Память в Swift от 0 до 1
- Debug Swift debugging with LLDB
👀На чем сфокусироваться в 2023
1. SwiftUI, фреймворк становится все более популярным, нужно быть готовым к тому моменту, когда он станет стандартом в iOS разработке. Стоит уделить внимание алгоритмам сравнения дерева, что бы не было проблем с перформансом и архитектуре.
2. Swift Concurrency. Его уже можно применять в некоторых задачах, а вскоре он может стать основным способом работы с многопоточностью.
3. Выбрать какой-нибудь язык и сделать на нем пет проект для расширения кругозора: haskell, rust, typescript.
🤔Задача для обсуждения в комментах
Сколько существует способов развернуть опционал в Swift?
👍67👎42🤡34☃7💅1
Эволюция системы логов в большом приложении
Ребята из Додо уже писали несколько статей про разные подходы к логированию с помощью os_log. В этот раз на проблему посмотрели с другой стороны, и рассказали, как эволюционировала архитектура системы логов по мере усложнения требований к ней. Код получившегося логгера выложен на GitHub.
Ребята из Додо уже писали несколько статей про разные подходы к логированию с помощью os_log. В этот раз на проблему посмотрели с другой стороны, и рассказали, как эволюционировала архитектура системы логов по мере усложнения требований к ней. Код получившегося логгера выложен на GitHub.
👍17👎2😱1💅1
Изображения в Localizable.strings
Если добавить название изображения в Localizable.strings, SwiftUI автоматически подцепит локализованную строчку как accessibility label.
Если добавить название изображения в Localizable.strings, SwiftUI автоматически подцепит локализованную строчку как accessibility label.
👍43😱18🤡1💅1
Тренды iOS разработки в 2022
Обзор изменений в нескольких областях экосистемы, которые по мнению автора являются ключевыми в этом и следующем году:
🎨SwiftUI
🔃Unidirectional flow
🧱Modularization
👀Testing
😎Accessibility
Обзор изменений в нескольких областях экосистемы, которые по мнению автора являются ключевыми в этом и следующем году:
🎨SwiftUI
🔃Unidirectional flow
🧱Modularization
👀Testing
😎Accessibility
Swift with Majid
iOS development trends in review
2022 has come to an end, and it is a perfect time for retrospective analysis. Today I want to review trends in iOS development over the past year that I notice while building my own apps or consulting others.
🔥23👍7❤2💅2
Дизайн макросов выражений в Swift
Помните опубликованный в прошлом году вижн макросов в Swift? Ждать придется не очень долго. На ревью уже находится подробный дизайн и прототипная реализация одной из составляющих – макросов выражений.
Expression macro – это специальный код, начинающийся со знака #, который при компиляции разворачивается в какое-то выражение. У таких макросов есть доступ к синтаксическому дереву программы, как на чтение, так и на изменение. По сути, они заменяют собой любые внешние кодогенераторы.
Репозиторий с примерами макросов
Помните опубликованный в прошлом году вижн макросов в Swift? Ждать придется не очень долго. На ревью уже находится подробный дизайн и прототипная реализация одной из составляющих – макросов выражений.
Expression macro – это специальный код, начинающийся со знака #, который при компиляции разворачивается в какое-то выражение. У таких макросов есть доступ к синтаксическому дереву программы, как на чтение, так и на изменение. По сути, они заменяют собой любые внешние кодогенераторы.
Репозиторий с примерами макросов
GitHub
swift-evolution/proposals/0382-expression-macros.md at main · swiftlang/swift-evolution
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swiftlang/swift-evolution
🔥19🤡5👍2😱2💅1
Знакомство с Flutter для iOS разработчиков
Команда Flutter добавила в документацию специальный раздел, который помогает iOS разработчикам познакомиться с фреймворком, сравнив его основные концепции и компоненты с аналогичными в SwiftUI или UIKit.
Похожий документ есть и для языка Dart, где его сравнивают со Swift.
Команда Flutter добавила в документацию специальный раздел, который помогает iOS разработчикам познакомиться с фреймворком, сравнив его основные концепции и компоненты с аналогичными в SwiftUI или UIKit.
Похожий документ есть и для языка Dart, где его сравнивают со Swift.
🤡125👍14👎10🔥7😁1💅1
This media is not supported in your browser
VIEW IN TELEGRAM
Как запустить iPhoneOS 1.0 на эмуляторе QEMU
На QEMU запустили полноценную эмуляцию первого iPod Touch с рендерингом девайса и мультитачем. В статье – много деталей про то, как устроены кишочки загрузки операционной системы и куча ссылок для тех, кто захочет закопаться поподробнее.
На QEMU запустили полноценную эмуляцию первого iPod Touch с рендерингом девайса и мультитачем. В статье – много деталей про то, как устроены кишочки загрузки операционной системы и куча ссылок для тех, кто захочет закопаться поподробнее.
🔥45💅2
Расскажите, чего хотите от Подлодки в 2023
Команда Podlodka iOS Crew собирает идеи того, как можно улучшить конференции. Если вы приходили на прошлые сезоны или смотрели какие-то видео, проходите небольшой опрос. А заодно, если вам есть чем поделиться, или вы готовы ворваться в программный комитет, оставляйте свои контакты!
Команда Podlodka iOS Crew собирает идеи того, как можно улучшить конференции. Если вы приходили на прошлые сезоны или смотрели какие-то видео, проходите небольшой опрос. А заодно, если вам есть чем поделиться, или вы готовы ворваться в программный комитет, оставляйте свои контакты!
Google Docs
Podlodka iOS Crew 2023
Привет,
Мы собираем инсайты, идеи, а также желающих поделиться своими знаниями и опыт (в качестве и спикеров, и участников ПК)
Мы собираем инсайты, идеи, а также желающих поделиться своими знаниями и опыт (в качестве и спикеров, и участников ПК)
🗿25🤔3👍1💅1
Первые подробные слухи про Apple Glasses
- Батарея для очков будет носиться на поясе, очки к ней будут подключаться по MagSafe. Заряда должно хватать на два часа.
- Справа будет находиться Digital Crown, использующаяся для переключения между VR и обычным зрением.
- Вроде как будут две версии ремешка для очков: для проствх пользователей и для разработчиков, но в чем будет отличие, пока не понятно.
- Если вам нужны линзы с плюсом/минусом, они будут крепиться на магнитах.
- Моторчики будут подгонять конструкцию под удобную для вас зрительную дистанцию.
- Существующие iOS приложения будут запускаться в 2D режиме, что бы это ни значило.
- Основными методами управления будут голосовое и hand-tracking. Отдельного игрового контроллера не будет.
- На внешней части устройства будет экран, который показывает окружающим эмоции того, кто носит очки.
- Цена, кажется, будет в районе 3000$.
- Батарея для очков будет носиться на поясе, очки к ней будут подключаться по MagSafe. Заряда должно хватать на два часа.
- Справа будет находиться Digital Crown, использующаяся для переключения между VR и обычным зрением.
- Вроде как будут две версии ремешка для очков: для проствх пользователей и для разработчиков, но в чем будет отличие, пока не понятно.
- Если вам нужны линзы с плюсом/минусом, они будут крепиться на магнитах.
- Моторчики будут подгонять конструкцию под удобную для вас зрительную дистанцию.
- Существующие iOS приложения будут запускаться в 2D режиме, что бы это ни значило.
- Основными методами управления будут голосовое и hand-tracking. Отдельного игрового контроллера не будет.
- На внешней части устройства будет экран, который показывает окружающим эмоции того, кто носит очки.
- Цена, кажется, будет в районе 3000$.
🤡103👍17🔥9🌭6💅6🗿5☃4🤯3❤1👎1
Как работает модификатор aspectRatio
Aspect Ratio в SwiftUI часто работает не так, как от него ожидается. Чтобы разобраться в том, как именно его использование влияет на процесс лэйаута, автор проводит серию экспериментов.
Aspect Ratio в SwiftUI часто работает не так, как от него ожидается. Чтобы разобраться в том, как именно его использование влияет на процесс лэйаута, автор проводит серию экспериментов.
🔥20👍1💅1
Курсы для начинающих айосеров от Apple
Apple решили собрать свой набор видеоуроков для тех, кто только вкатывается в iOS.
🎨SwiftUI: интерфейсы, навигация, управление стейтом, хранение данных, многопоточность
🧱UIKit: работа с коллекциями, анимации, системные фреймворки
🛠️Работа с сетью и тесты
В процессе прохождения курса разрабатывается несколько учебных проектов. Курс расчитан на 15 часов.
Apple решили собрать свой набор видеоуроков для тех, кто только вкатывается в iOS.
🎨SwiftUI: интерфейсы, навигация, управление стейтом, хранение данных, многопоточность
🧱UIKit: работа с коллекциями, анимации, системные фреймворки
🛠️Работа с сетью и тесты
В процессе прохождения курса разрабатывается несколько учебных проектов. Курс расчитан на 15 часов.
👍69🫡12🔥3❤🔥2💅1
Если ИТ – это ваш конек, то Тинькофф ждет вас 23 января на катке в московском Парке Горького!
Ледовый ИТ-квест, нетворкинг, дискуссии со спикерами в теплом шатре и многое другое. Вечер точно будет насыщенным и приятным. За коньки не беспокойтесь — их выдадут бесплатно.
Не медлите, регистрируйтесь сами и зовите коллег — будет весело!
Ледовый ИТ-квест, нетворкинг, дискуссии со спикерами в теплом шатре и многое другое. Вечер точно будет насыщенным и приятным. За коньки не беспокойтесь — их выдадут бесплатно.
Не медлите, регистрируйтесь сами и зовите коллег — будет весело!
🤡61👍9☃7👎1💅1
Как предоставлять Export Compliance Information
Помните тот вопрос, который App Store Connect задает каждый раз при заливе новой версии: «Does your app use encryption?» Держите максимально подробный гайд про то, как следует себя вести.
*️⃣В большинстве случаев, если вы не заполните self-classification report, ничего страшного не случится. Но формально это требуется обязательно, даже если вы просто используете https или встроенные в SDK криптографические алгоритмы.
*️⃣Для бесплатных приложений отчет требуется заполнять только один раз, для платных – каждый год. Заполнить и отправить отчет надо в промежуток с 1 января до 1 февраля.
*️⃣Сгенерировать отчет можно здесь. После этого его надо будет отправить на почты [email protected] и [email protected].
*️⃣Если вы не успели отправить отчеты – не критично. Подождите до следующего 1 января.
Перевод на русский язык
Помните тот вопрос, который App Store Connect задает каждый раз при заливе новой версии: «Does your app use encryption?» Держите максимально подробный гайд про то, как следует себя вести.
*️⃣В большинстве случаев, если вы не заполните self-classification report, ничего страшного не случится. Но формально это требуется обязательно, даже если вы просто используете https или встроенные в SDK криптографические алгоритмы.
*️⃣Для бесплатных приложений отчет требуется заполнять только один раз, для платных – каждый год. Заполнить и отправить отчет надо в промежуток с 1 января до 1 февраля.
*️⃣Сгенерировать отчет можно здесь. После этого его надо будет отправить на почты [email protected] и [email protected].
*️⃣Если вы не успели отправить отчеты – не критично. Подождите до следующего 1 января.
Перевод на русский язык
annual-self-classification-report.github.io
BIS Annual Self-Classification Report Generator
Fill in the form, and generate a report. Could it be any simpler?
👍9💅2
This media is not supported in your browser
VIEW IN TELEGRAM
Коллекция SwiftUI анимаций
Большая подборка сниппетов с анимациями на SwiftUI. Некоторые из них повторяют поведение системных компонентов, а некоторые – уникальные.
Большая подборка сниппетов с анимациями на SwiftUI. Некоторые из них повторяют поведение системных компонентов, а некоторые – уникальные.
👏20👍8🤩3🫡2💅2❤1