В новом дайджесте снова встроенные покупки, будущее Android UI и мобильное вещание, тренировки по алгоритмам и выравнивание текста, 46 приложений в месяц, маркетинг влияния и многое другое!
![](https://habrastorage.org/r/w780q1/webt/g3/ly/xi/g3lyxibokcfkhtjawmpxxa1pumw.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• Как автоматизировать безопасный декодинг массивов в Swift с @propertyWrapper
• AppCode 2021.2: улучшения поддержки Swift, автодополнение выражений, окно иерархии вызовов для Swift и не только
• С помощью скотча и жвачки
• Работа с клавиатурой в iOS: как минимизировать копипасту
• iOS in-app purchases, часть 5: обработка ошибок SKErrors + часть 4: локальное тестирование покупок в XCode
•
Как мы использовали MetricKit для оценки наших новых выпусков
•
Введение в GraphQL для iOS-разработчиков
•
Dependency Injection в iOS: полное руководство
•
Реализация UITableView
•
Делаем приложение на SwiftUI для отслеживания сделок с криптовалютой
•
Кеширование изображений с помощью URLCache
•
Автоматическая управление клавиатурой с помощью UIKit и Combine
•
Делаем UITableView поверх слоя градиента
•
ALPopup: нативный попап
•
Spotify iOS: клиент Spotify на Swift
Android
• Обновление виджетов для Android 12. Часть 1
• 11 Open Source проектов на Kotlin с AndroidDevChallenge
• Android можно будет управлять выражением лица
• Android in-app purchases, часть 3: получение активных покупок и смена подписки
• Запущен бесплатный курс Kotlin Basics в JetBrains Academy
• Jetpack Compose: будущее Android UI и убийца Fragment
•
Android: Bluetooth as a Service
•
Готов ли KMM к продакшену: как мы перевели наш код на Kotlin Multiplatform Mobile
•
Как разрабатывать сложные процедуры старта для Android-приложений с помощью RxJava
•
Наблюдение за статусом подключения Live в стиле Jetpack Compose
•
Прогресс-бар на JetPack Compose: SSJetPackComposeProgressButton
•
OTP-логин с использованием Firebase, Hilt и компонентов Jetpack – все вместе на Kotlin
•
Измерение производительности рендеринга с помощью Jetpack Compose
•
Сборщик мусора: история Android
•
Как сделать скриншот в приложении на Android
•
Офлайн приложение для Android с Cloud Firestore
•
5 основных функций Android 11, которые повлияют на разработчиков
•
Гибкий адаптер RecyclerView с MVVM и Data Binding
•
Quantitizer: анимированный степпер для Android
•
Chesso: разбор шахматных позиций на Jetpack Compose
Разработка
• Google удалил приложение из Play Store за ссылку на официальный вебсайт продукта
• LeetD3vM4st3R
• Альтернативы CDN: наша система доставки контента напрямую из стора в игру
• Dart Code Metrics 4.0: команды, поддержка монорепозиториев и новые правила
• 5 инструментов для удаленной команды Automation QA
• Мобильное вещание: советы по работе на примере Larix Broadcaster
• Water Simulation
• Podlodka #229: медитация
• Дизайн приложений: примеры для вдохновения #53
• Почему большинство разработчиков выгорает
• Split.io получил еще $50 млн на feature flag платформу
• Академия Яндекса запустит онлайн-тренировки по алгоритмам
• Как правильно хранить пароли в базе данных
• Лучшие практики выравнивания текста в интерфейсе
• Математика, статистика и теория игр в новой подборке Humble Book Bundle
• Как создавать гипотезы в продуктовом дизайне: пошаговое руководство
•
Когда вы не можете не использвать таблицы в приложении
•
3 худших совета в программировании, которые я когда-либо слышал
•
Как проверять идеи за 4 дня и быстрее создавать продукты
•
Взгляд изнутри на то, как мы обновили логотип и иконки приложений Yelp
•
9 полезных советов по программированию от Senior-разработчика
•
Фреймворк, который каждый раз гарантирует хороший UX-дизайн
•
Как развиваться менеджеру по продукту
•
Архитектура Flutter, которую я обожаю
•
10 ошибок, которых следует избегать, работая менеджером по разработке
•
LocalStack: локальный AWS
Аналитика, маркетинг и монетизация
• Средний пользователь в США использует 46 приложений в месяц
• Как улучшить ваши A/B-тесты: лайфхаки аналитиков Авито. Часть 2
• Модель крючка для IT-продуктов
• Дело Epic Games против Apple раскрывает новый интересные факты об App Store и Google Play
• Google платил разработчикам, чтобы они оставались в Play Store
• App Annie и CrazyLabs проводят конкурс гиперказуальных игр
• LOVEMOBILE #14: маркетинг влияния с Zorka.Agency
• Kalam Labs учит естественным наукам в обучающих играх
AI, Устройства, IoT
• Большие данные и математические алгоритмы в руках коммерсанта
• Интеграция устройства в экосистему Samsung SmartThings на примере «Умного чайника»
• Uizard получил $15 млн на развитие ИИ-платформы дизайна и прототипирования
• «Машинное обучение для начинающих» — новый бесплатный курс от Microsoft
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/g3/ly/xi/g3lyxibokcfkhtjawmpxxa1pumw.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• Как автоматизировать безопасный декодинг массивов в Swift с @propertyWrapper
• AppCode 2021.2: улучшения поддержки Swift, автодополнение выражений, окно иерархии вызовов для Swift и не только
• С помощью скотча и жвачки
• Работа с клавиатурой в iOS: как минимизировать копипасту
• iOS in-app purchases, часть 5: обработка ошибок SKErrors + часть 4: локальное тестирование покупок в XCode
•
![](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)
• Обновление виджетов для Android 12. Часть 1
• 11 Open Source проектов на Kotlin с AndroidDevChallenge
• Android можно будет управлять выражением лица
• Android in-app purchases, часть 3: получение активных покупок и смена подписки
• Запущен бесплатный курс Kotlin Basics в JetBrains Academy
• Jetpack Compose: будущее Android UI и убийца Fragment
•
![](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/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• Google удалил приложение из Play Store за ссылку на официальный вебсайт продукта
• LeetD3vM4st3R
• Альтернативы CDN: наша система доставки контента напрямую из стора в игру
• Dart Code Metrics 4.0: команды, поддержка монорепозиториев и новые правила
• 5 инструментов для удаленной команды Automation QA
• Мобильное вещание: советы по работе на примере Larix Broadcaster
• Water Simulation
• Podlodka #229: медитация
• Дизайн приложений: примеры для вдохновения #53
• Почему большинство разработчиков выгорает
• Split.io получил еще $50 млн на feature flag платформу
• Академия Яндекса запустит онлайн-тренировки по алгоритмам
• Как правильно хранить пароли в базе данных
• Лучшие практики выравнивания текста в интерфейсе
• Математика, статистика и теория игр в новой подборке Humble Book Bundle
• Как создавать гипотезы в продуктовом дизайне: пошаговое руководство
•
![](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)
• Средний пользователь в США использует 46 приложений в месяц
• Как улучшить ваши A/B-тесты: лайфхаки аналитиков Авито. Часть 2
• Модель крючка для IT-продуктов
• Дело Epic Games против Apple раскрывает новый интересные факты об App Store и Google Play
• Google платил разработчикам, чтобы они оставались в Play Store
• App Annie и CrazyLabs проводят конкурс гиперказуальных игр
• LOVEMOBILE #14: маркетинг влияния с Zorka.Agency
• Kalam Labs учит естественным наукам в обучающих играх
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• Большие данные и математические алгоритмы в руках коммерсанта
• Интеграция устройства в экосистему Samsung SmartThings на примере «Умного чайника»
• Uizard получил $15 млн на развитие ИИ-платформы дизайна и прототипирования
• «Машинное обучение для начинающих» — новый бесплатный курс от Microsoft
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.