В нашем новом дайджесте открытие Live Activity и ActivityKit, анализ Android-приложений и Flutter 3.3, логи, скука, мобильный CI, приключения BeReal и многое другое!
Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
![](https://habrastorage.org/r/w780q1/webt/pc/ma/1y/pcma1yhn3mcgpmawdinanuur6by.jpeg)
iOS
• Apple открыла Live Activity и ActivityKit
• Apple открыла подписку на WeatherKit
•
Introducing MarkCodable
•
Customizing toolbars in SwiftUI
•
Lock Screen Widgets in SwiftUI
•
Is your iOS app secure?
•
New in SwiftUI 4: Toggle Collection & Mixed Stage Toggle
•
Creating GitHub Build Status Badges for Xcode Cloud Builds
•
SF Font Expanded, Condensed, and Compressed: Three New font width styles in iOS 16
•
Designing for iPhone 14 Pro’s Dynamic Island
•
Common iOS Swift Development Interview Questions
•
Implementing the Viper Design Pattern in iOS
•
Access Memory Directly in Swift
•
Exploring Rendering in SwiftUI
•
Efficiently Develop Cleaner SwiftUI Views Using A View Model
•
New BackgroundTask in SwiftUI and How to Test It
•
New in SwiftUI 4: AnyLayout
•
Swift 5.7 Released!
•
Swift RegexBuilder – A New Way to Build Regular Expressions in iOS
•
Fixing Swift Actors and Delegate Error on Xcode 14
•
Implementing Analytics Manager for your iOS app
•
How To Boost Your iOS Code Performance: Reduce Searching In Array
•
Easy-to-use WebRTC iOS SDK Lets You Build WebRTC iOS App with 4 Lines of Code
•
How 5 iOS apps could improve their startup time by an average of 28%
•
iPhone 14 Screen Sizes
•
Best Code Commenting Guide For Swift-iOS by Mohit Chug
•
IQKeyboardManager: защита текстовых полей от клавиатуры
•
ViewInspector: юнит-тесты для View SwiftUI
•
Defaults: современные UserDefaults
Android
• Что мы используем для анализа Android-приложений
• Новые возможности AndroidX Media и ExoPlayer
• Неочевидное про Fragment API. Часть 1. Транзакции
• Готовим Window Inset под соусом Jetpack Compose и щепоткой View
• Автоматизация проверки размера Android приложения на CI
• Размер имеет значение! Часть 1
• Ликбез по диплинкам. Часть 1: Что такое диплинк?
• Принципы построения многомодульных Android-приложений
• Вышла новая стабильная Android Studio Dolphin
• Что такое Kotlin SAM
• TensorFlow Lite стал доступен в Google Play Services
•
Instagram-like particles animation using Jetpack Compose
•
Jetpack Compose: Debugging Recomposition
•
Full Guide to Encryption & Decryption in Android
•
Android testing process in Headspace
•
Kotlin’s way to make DSLs and many standard library functions work
•
An API Project From an Android Developer’s Perspective
•
Use delegates for a cleaner code instead of BaseActivity in Kotlin
•
The easiest way to implement Firebase RemoteConfig in Android
•
Explore Compose MotionLayout
•
Mastering Coroutines in Kotlin — Complete guide
•
How To Migrate The Deprecated OnBackPressed Function
•
Kotlin: An Illustrated Guide — Introduction to Interfaces
•
Explore Compose MotionLayout
•
My Journey on Reducing APK size at GetMega
•
Language Changes in Kotlin 1.7.0
•
Effective state management for TextField in Compose
•
How to Use WebRTC Android SDK in Native Android App
•
Build Subscription-aware Flows in Kotlin
•
Twitter’s Jetpack Compose Rules: статические проверки кода для Compose
•
FashionStore: магазин одежды
Кроссплатформа
• Flutter 3.3: что нового
• Ionic get started: что важно знать до начала разработки первого приложения
•
Slivers in Flutter – Efficient and Fancy Scrolling Experience
•
Pine: A lightweight architecture helper for your Flutter Projects
•
Sharing Code Between React and React Native
•
Cupertino Context Menu In Flutter
•
Add Flutter View to Native iOS App
Разработка
• Как снимать логи с устройств на Android и iOS: разбираемся с инструментами
• Скука в разработке — это прекрасно
• Что делать, если собеседование QA по типовым вопросам не работает
• Топ-25 бесплатных курсов QA-тестировщиков 2022 года
• Как настроить CI в мобильных приложениях
• Минимизация ошибок продуктового дизайнера с помощью коридорного тестирования
• Фича-команды — профит или балласт?
• Avito Design Talk #6
• Podlodka #285: Профессия: CPO
• Новый Surface Duo Design Kit
• Программистов без опыта готовы принять на работу только 3% компаний
• $75 млн в Серии B: Zesty — управление облачными ресурсами в реальном времени
• $20 млн в Серии А: Cledara — управление SaaS
• Личный опыт проведения бета-тестирования
•
Functional Style Versus Functional Programming
•
On Fixing vs Patching
•
Top 6 Machine Learning Algorithms
•
4 Myths about looking at the market to determine what type of game to make
•
Boring is Beautiful in Software Development
•
Three “Clean Code” tips that will make your dev team 50% more efficient
•
Rebuilding the spellchecker
•
Magical constraints (or How to turn bugs into features)
Аналитика, маркетинг и монетизация
• RuStore открыл публикацию приложений для физлиц
• В Play внедрили фильтрацию оценок по устройствам
• Google Play внедряет временной буфер для публикации оценок и отзывов
• Эффективности рекламы в мобильных приложениях 2022
• Top Widgets стал №1 в App Store с выходом iOS 16
• TikTok скопировал BeReal
• Самые зарабатывающие приложения США в августе
• Установки приложений — опрос маркетологов Digital Turbine
• Яндекс представил «Простую монетизацию»: новое решение для мобильных приложений
• Средняя цена покупок в приложениях за год выросла на 40% в App Store и на 9% в Google Play
• 61% самых прибыльных приложений для iOS используют Apple Search Ads
• Zynga покупает Storemaven
• 91% доходов мобильного рынка идет 1% лучших издателей
• Рынок мобильных игр в Японии: раскрываем секрета успеха
• Главные ошибки в монетизации приложений: эксперт Яндекса рассказала, как их избежать
• Эффект Зейгарник или как довести пользователя до цели через незавершенное действие
• Какие навыки помогают ASO-специалисту добиться успеха: анализ рынка
• Путь в IT: Как я стала ASO-специалистом после 5 лет работы инженером в Беларуси
• Почему ZOOM съел Skype? И как вам съесть кого угодно?
AI, Устройства, IoT
• Шерудим под капотом Stable Diffusion
• Установка универсальной прошивки OpenIPC на примере IP камеры с процессором HI3516DV100 и сенсором OV4689
• Как работает DALL-E
• Создание IoT-приложения с использованием HTTP API
• Как выбрать плату для Computer Vision в 2022
• Как я строил Умный Дом. Часть 1
• Kincony KC868-E16S: контроллер в стиле стимпанк
• Руководство по Human Pose Estimation
• Google отменил следующую версию Pixelbook
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
![](https://habrastorage.org/webt/pc/ma/1y/pcma1yhn3mcgpmawdinanuur6by.jpeg)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• Apple открыла Live Activity и ActivityKit
• Apple открыла подписку на WeatherKit
•
![](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/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/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• Что мы используем для анализа Android-приложений
• Новые возможности AndroidX Media и ExoPlayer
• Неочевидное про Fragment API. Часть 1. Транзакции
• Готовим Window Inset под соусом Jetpack Compose и щепоткой View
• Автоматизация проверки размера Android приложения на CI
• Размер имеет значение! Часть 1
• Ликбез по диплинкам. Часть 1: Что такое диплинк?
• Принципы построения многомодульных Android-приложений
• Вышла новая стабильная Android Studio Dolphin
• Что такое Kotlin SAM
• TensorFlow Lite стал доступен в Google Play Services
•
![](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/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/webt/ma/lx/8h/malx8hbgozt6lee8rmxmg96_s6a.png)
• Flutter 3.3: что нового
• Ionic get started: что важно знать до начала разработки первого приложения
•
![](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/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• Как снимать логи с устройств на Android и iOS: разбираемся с инструментами
• Скука в разработке — это прекрасно
• Что делать, если собеседование QA по типовым вопросам не работает
• Топ-25 бесплатных курсов QA-тестировщиков 2022 года
• Как настроить CI в мобильных приложениях
• Минимизация ошибок продуктового дизайнера с помощью коридорного тестирования
• Фича-команды — профит или балласт?
• Avito Design Talk #6
• Podlodka #285: Профессия: CPO
• Новый Surface Duo Design Kit
• Программистов без опыта готовы принять на работу только 3% компаний
• $75 млн в Серии B: Zesty — управление облачными ресурсами в реальном времени
• $20 млн в Серии А: Cledara — управление SaaS
• Личный опыт проведения бета-тестирования
•
![](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/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• RuStore открыл публикацию приложений для физлиц
• В Play внедрили фильтрацию оценок по устройствам
• Google Play внедряет временной буфер для публикации оценок и отзывов
• Эффективности рекламы в мобильных приложениях 2022
• Top Widgets стал №1 в App Store с выходом iOS 16
• TikTok скопировал BeReal
• Самые зарабатывающие приложения США в августе
• Установки приложений — опрос маркетологов Digital Turbine
• Яндекс представил «Простую монетизацию»: новое решение для мобильных приложений
• Средняя цена покупок в приложениях за год выросла на 40% в App Store и на 9% в Google Play
• 61% самых прибыльных приложений для iOS используют Apple Search Ads
• Zynga покупает Storemaven
• 91% доходов мобильного рынка идет 1% лучших издателей
• Рынок мобильных игр в Японии: раскрываем секрета успеха
• Главные ошибки в монетизации приложений: эксперт Яндекса рассказала, как их избежать
• Эффект Зейгарник или как довести пользователя до цели через незавершенное действие
• Какие навыки помогают ASO-специалисту добиться успеха: анализ рынка
• Путь в IT: Как я стала ASO-специалистом после 5 лет работы инженером в Беларуси
• Почему ZOOM съел Skype? И как вам съесть кого угодно?
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• Шерудим под капотом Stable Diffusion
• Установка универсальной прошивки OpenIPC на примере IP камеры с процессором HI3516DV100 и сенсором OV4689
• Как работает DALL-E
• Создание IoT-приложения с использованием HTTP API
• Как выбрать плату для Computer Vision в 2022
• Как я строил Умный Дом. Часть 1
• Kincony KC868-E16S: контроллер в стиле стимпанк
• Руководство по Human Pose Estimation
• Google отменил следующую версию Pixelbook
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.