В нашем новом дайджесте предназначение UIKit и стабильность develop, слон в посудной лавке в эпоху перемен и молодые Senior-ы, метавселенные реального мира, анатомия пейволов, AR-гарнитура Apple и многое другое!
![](https://habrastorage.org/webt/xs/is/wq/xsiswq0f8tclcjtx2swxupi3zhm.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• UIKit ты вообще про UI?
• Идентификаторы элементов в XCUITest
• Сертификат для Джонни
• Первое приложение на SwiftUI
• Apple выпустит AR-гарнитуру в 2022
• Анимируй это: введение в анимации SwiftUI
• Оценка Apple Podcasts выросла с 1.8 до 4.6?? всего за месяц
•
Настраиваем конвейер непрерывной интеграции для iOS
•
Animator: простой способ сделать анимацию UIKit многоразовой
•
Как создавать привлекательные документы в Xcode
•
5 инструментов для поддержки разработки под iOS
•
Переключение тем в Swift
•
Xcode Cloud: автоматизация рабочих процессов
•
Масштабируемая архитектура iOS с MVVM
•
Создаем кастомный Property Wrapper в SwiftUI для объединения хранения и публикации значений
•
Улучшение iPad Sidebar Navigation на iPhone с помощью SwiftUI
•
Наш путь к сокращению времени сборки приложения Traveloka для iOS на 90%
•
Как преобразовать сетевой уровень в iOS для работы с Combine или Async/await
•
Создание ML моделей с Swift и CreateML
•
Viperit: шаблон для VIPER
•
FancyGradient: анимированные градиенты на Swift
Android
• Модульность и DI в современном Android-приложении. Большой туториал от Яндекса
• Main Loop (Главный цикл) в Android Часть 3. Другие главные циклы
• Стабильность develop в Android
• Как ускорить Dagger в Android
• Многомодульность в Android и Dagger: пошаговый пример
• EMM Всемогущий: как подчинить 170 тысяч корпоративных устройств?
• Kotlin для всего
• Google тестирует обновление дизайна сайта Play Store
•
Оптимизация времени сборки CI для Kotlin Multiplatform
•
Inline классы Kotlin в мире Android
•
Выбор современного фреймворка внедрения зависимостей для Android
•
Дело против Rx за aync на Android
•
Scoped Storage в Android – запись и удаление мультимедиа файлов
•
Как правильно использовать Nullable типы в Kotlin
•
Сокращение времени сборки приложения BlaBlaCar для Android
•
Когда Gson встретил классы Data Kotlin
•
Как добавить динамические темы Material You из Android 12 в приложение
•
AppSalvager: предотвращение сбоев
•
CoinList: криптовалюты для обучения разработке
Разработка
• Что такое ECS и с чем его компилят
• DI.kt: одна из первых DI библиотек для Kotlin Multiplatform
• Слон в посудной лавке, или как сохранить сроки производства в эпоху перемен
• Как стать устойчивым и растущим инди-разработчиком
• Комикс: Технический долг в разработке игр
• Оценка задач в Story Points для больших и молодых команд разработки
• Unity справа налево
• Как сделать лучшее на рынке мобильное приложение для коллекторов и не стать их клиентами
• Как мы участвовали в создании ААА-игры Ori and the Will of the Wisps и что делать, чтобы у вас получилось тоже
• Протестировать Open World? Легко!!! Какие инструменты используются при тестировании игр?
• Применение автотестов в ежедневных релизах + Установка Cypress и Allure
• Как подготовить бэклог продукта с большим количеством зависимостей и не потратить время впустую
• Flutter: автоматизация UI тестирования
• Podlodka #243: IT в кино
• Дизайн приложений: примеры для вдохновения #65
• GitHub публикует очередное исследование Octoverse
• Стартует основной этап Всероссийской олимпиады по программированию для школьников
• $60 млн в Серии С: Bitrise — мобильный CI/CD
• Я слишком молода, чтобы быть Senior-разработчиком?
• Code Like A Pro — новая распродажа книг в Humble Bundle
• $300 млн: Niantic на метавселенную реального мира
• Как мы справились с неоморфизмом на этапе верстки мобильного приложения Incognito
• Руководство по созданию эффективного эмоционального дизайна
•
Архитектура API — Рекомендации по проектированию REST API
•
12 лучших практик повышения производительности базы данных
•
Упражнение по проектированию мобильной системы: кэширующая библиотека
•
План обучения React Native, основанный на моем профессиональном и преподавательском опыте
•
Чрезмерная инженерия может убить ваш продукт
•
Минималистическое руководство по внедрению зависимостей во Flutter
•
Создание показателя эффективности страницы в Airbnb
•
SOLID в Dart/Flutter
•
Системная архитектура Twitter
•
11 вещей, которые я узнал после того, как стал проводить кодинг интервью
•
SDLPoP: открытый порт Prince of Persia
Аналитика, маркетинг и монетизация
• Анатомия пейвола: как сделать экран, который продает
• Как составить ТЗ на скриншоты?
• Wave: эмоциональное здоровье подростков
• Arkadium Advantage предлагает игры по подписке для пожилых
• Узнайте, насколько эффективна ваша реклама в Apple Search Ads с помощью Grader от SearchAds.com
• Банки и финтех в 2021 году: отчет App Annie
• В myTarget появилась технология вероятностной ML-атрибуции
• Tapjoy запускает Shopping — вознаграждающий маркетплейс для товаров
• Производители дешёвых «умных» телевизоров зарабатывают больше на торговле данными, чем на продаже техники
• Инкрементальность рекламы. Как оценить истинное влияние рекламных каналов на рост продукта
• Как покупать мобильные приложения)
AI, Устройства, IoT
• Обзор и тестирование DC-DC модуля на чипе ME2188A
• Как я учил нейронные сети играть в казино
• $40 млн в Серии С: Mabl — автоматизация тестирования с low-code и ИИ
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/xs/is/wq/xsiswq0f8tclcjtx2swxupi3zhm.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• UIKit ты вообще про UI?
• Идентификаторы элементов в XCUITest
• Сертификат для Джонни
• Первое приложение на SwiftUI
• Apple выпустит AR-гарнитуру в 2022
• Анимируй это: введение в анимации SwiftUI
• Оценка Apple Podcasts выросла с 1.8 до 4.6?? всего за месяц
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• Модульность и DI в современном Android-приложении. Большой туториал от Яндекса
• Main Loop (Главный цикл) в Android Часть 3. Другие главные циклы
• Стабильность develop в Android
• Как ускорить Dagger в Android
• Многомодульность в Android и Dagger: пошаговый пример
• EMM Всемогущий: как подчинить 170 тысяч корпоративных устройств?
• Kotlin для всего
• Google тестирует обновление дизайна сайта Play Store
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• Что такое ECS и с чем его компилят
• DI.kt: одна из первых DI библиотек для Kotlin Multiplatform
• Слон в посудной лавке, или как сохранить сроки производства в эпоху перемен
• Как стать устойчивым и растущим инди-разработчиком
• Комикс: Технический долг в разработке игр
• Оценка задач в Story Points для больших и молодых команд разработки
• Unity справа налево
• Как сделать лучшее на рынке мобильное приложение для коллекторов и не стать их клиентами
• Как мы участвовали в создании ААА-игры Ori and the Will of the Wisps и что делать, чтобы у вас получилось тоже
• Протестировать Open World? Легко!!! Какие инструменты используются при тестировании игр?
• Применение автотестов в ежедневных релизах + Установка Cypress и Allure
• Как подготовить бэклог продукта с большим количеством зависимостей и не потратить время впустую
• Flutter: автоматизация UI тестирования
• Podlodka #243: IT в кино
• Дизайн приложений: примеры для вдохновения #65
• GitHub публикует очередное исследование Octoverse
• Стартует основной этап Всероссийской олимпиады по программированию для школьников
• $60 млн в Серии С: Bitrise — мобильный CI/CD
• Я слишком молода, чтобы быть Senior-разработчиком?
• Code Like A Pro — новая распродажа книг в Humble Bundle
• $300 млн: Niantic на метавселенную реального мира
• Как мы справились с неоморфизмом на этапе верстки мобильного приложения Incognito
• Руководство по созданию эффективного эмоционального дизайна
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• Анатомия пейвола: как сделать экран, который продает
• Как составить ТЗ на скриншоты?
• Wave: эмоциональное здоровье подростков
• Arkadium Advantage предлагает игры по подписке для пожилых
• Узнайте, насколько эффективна ваша реклама в Apple Search Ads с помощью Grader от SearchAds.com
• Банки и финтех в 2021 году: отчет App Annie
• В myTarget появилась технология вероятностной ML-атрибуции
• Tapjoy запускает Shopping — вознаграждающий маркетплейс для товаров
• Производители дешёвых «умных» телевизоров зарабатывают больше на торговле данными, чем на продаже техники
• Инкрементальность рекламы. Как оценить истинное влияние рекламных каналов на рост продукта
• Как покупать мобильные приложения)
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• Обзор и тестирование DC-DC модуля на чипе ME2188A
• Как я учил нейронные сети играть в казино
• $40 млн в Серии С: Mabl — автоматизация тестирования с low-code и ИИ
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.