В новом выпуске распознавание номеров телефонов для пикника и первая бета Android 16, не всеобъемлющее руководство по тестированию пуш-уведомлений и 5 лет React Native в Shopify, технический гайд по сторис, годовой отчет “Состояние мобильного рынка в 2024 году” от Sensor Tower и многое другое. Подключайтесь!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS
• Как мы сделали on-device-распознавание номеров телефонов для ИТ-Пикника
• Темы в современных iOS-приложениях с UITraitCollection
• Вызов защищенного API из iOS-приложения на Swift
• Архитектура для SwiftUI — VSURF
• Фото-пикер 2.0: как сделать фичу на 150%
• App Store запускает Advanced Commerce API
• Apple Intelligence включат по умолчанию
• Color mixing in SwiftUI
•
Observing properties on an @Observable class outside of SwiftUI views
•
Reducing Motion of Animations
•
Creating a reusable action menu component in SwiftUI
•
Debugging An Undebuggable App
•
Remove unused code in a real-world iOS project
•
Effortless SwiftUI Theming
•
Bringing App Intents to Your SwiftUI App
•
Remove background from image in SwiftUI
•
Protocol Extensions in Swift 6.0: New Tricks
•
iOS Modular Architecture: From Monolith to Hybrid Approaches
•
Guiding the Golden Age: Rebuilding Indoor Navigation for Rijksmuseum
•
Mastering Color Views in SwiftUI
•
Notification Deep Linking | Open Specific View From Push Notifications
•
Scalable Continuous Integration for iOS
•
Recall — календарь для продуктивности
•
Sharing — универсальное решение для хранения и совместного использования данных
Android
• Вышла первая бета-версия Android 16
• Погружение в мир Lint'a в Android-проекте (часть 2)
• Абсолютно потрясающее, но определенно не всеобъемлющее руководство по тестированию пуш-уведомлений
• Jetpack Compose и Edge-to-Edge на Android 15
• Как синтаксический сахар Kotlin может сломать вам логику работы приложения
• Как сделать библиотеку, чтобы ей пользовались
• Как Класс производительности помог Google Maps предоствить первоклассный опыт
•
Using new Camera extensions API
•
Widgets with Glance: Displaying Images
•
Subcomposition in Jetpack Compose: How to Use Measurement Phase Data in Other Children
•
Don’t let Maven block you!
•
Mockk: My Favorite Mocking Library for Android
•
Please don’t dox me Google: How to verify your Google Play account without exposing ALL of your information
•
App taken down: Beware of adding a «surprise» free trial without updating the UI
•
Code Optimization with Proguard and R8 in Android
•
Stop hopping threads!
•
Android Studio Meerkat Feature Drop
•
Announcing Tuist Registry
•
Programmatic navigation with Tab View in SwiftUI
•
Auto Layout Made Easy: Master Constraints with a Powerful UIView Extension
•
Comprehensive System Design of LinkedIn Android App
•
F-Droid’s Progress and What’s Coming in 2025
•
The future is adaptive: Changes to orientation and resizability APIs in Android 16
•
From frustration to framework: Revamping UI testing at Qont
•
Real-World Solutions for Remote Localization in Jetpack Compose Apps
•
InputStreams & OutputStreams In Kotlin
•
Working With Files In Kotlin
•
Compose Performance for Us Humans
•
CuteMusic — быстрый музыкальный плеер для Android
•
Lumo-UI — плагин Gradle для создания компонентов Compose
•
Android Interview Questions — вопросы и темы с Android-собеседований
Кроссплатформа
• 5 лет React Native в Shopify
• Создание на Flutter MMO, достигшей $14k MMR в закрытом тестировании
• YPay & YPay Inventory для Flutter приложений
• Такие разные Slivers: обзор и применение во Flutter. Часть 1
• Спасти проект: с какими трудностями мы столкнулись при разработке и поддержке мобильной кроссплатформы
• Аналитика в мобильном приложении на Flutter. Часть 1. Yandex AppMetrica
•
Introducing card_game: A declarative Flutter package that makes building card games easy
•
Compose multiplatform is real
•
Writing Golden Tests in Flutter
•
Detecting Text with Camera in Compose Multiplatform
•
Design Systems in Flutter. Why and How.
•
Becoming a KMP Expert
•
Multi-language Support in Kotlin/Compose Multiplatform
•
Flutter Animations Made Easy
Разработка
• Технический гайд по сторис или как мы повысили конверсию в мобильном приложении в 9 раз
• Автоматизируем рутинные задачи и сокращаем бюджет на дизайн: Figma Variables в создании макетов мобильных приложений
• UI/UX тренды в 2025: угрожает ли ИИ будущему дизайнеров и какие визуальные тренды нас удивят?
• Токены цвета для приложения: Как создать, использовать и передать в разработку
• ,Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов
• Управление ресурсами в DevOps: от облачных решений до «железных» серверов
• Универсальное решение для мобильного автотестирования
• Смена профессии в IT — Карьера, Профессиональный рост
•
I am (not) a Failure: Lessons Learned From Six (and a half) Failed Startup Attempts
•
Your Career is a Startup: Building Sustainable Growth, One Stage at a Time
•
Why You Need a ‘NOT Doing’ List, not a Todo List
•
Why manual Release Notes and Versions are a chaos and how to fix it
•
The fizzbuzz that did not get me the job
•
Neetcode 150 Course — All Coding Interview Questions Solved
Аналитика, маркетинг и монетизация
• Состояние мобильного рынка в 2024 году — отчет Sensor Tower
• Никита Бир о том, как создавать виральные продукты
• Сокращается ли рынок приложений — Обсуждение на Reddit
• Супераппы «супергорода» или что такое Careem и Noon в Дубае? Обзор приложений. Часть 1: Careem
• Epic поможет покрыть расходы разработчиков на iOS
• Раскрываем секреты маркетинга в 5 квартале
AI, Устройства, IoT
• Заменяем хабраюзеров ИИ-агентами. Гайд по browser-use
• История бюджетной автоматизации отопления в Home Assistant)
• Home Assistant на Raspberry Pi 5
• Google и Samsung работают над AR-очками
• В SmartThings от Samsung появятся функции искусственного интеллекта
• Perplexity запускает Sonar, API для ИИ-поиска
• Tencent представила Hunyuan3D 2.0 — открытую ИИ-систему 3D моделирования
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS• Как мы сделали on-device-распознавание номеров телефонов для ИТ-Пикника
• Темы в современных iOS-приложениях с UITraitCollection
• Вызов защищенного API из iOS-приложения на Swift
• Архитектура для SwiftUI — VSURF
• Фото-пикер 2.0: как сделать фичу на 150%
• App Store запускает Advanced Commerce API
• Apple Intelligence включат по умолчанию
• Color mixing in SwiftUI
•
Observing properties on an @Observable class outside of SwiftUI views•
Reducing Motion of Animations•
Creating a reusable action menu component in SwiftUI•
Debugging An Undebuggable App•
Remove unused code in a real-world iOS project•
Effortless SwiftUI Theming•
Bringing App Intents to Your SwiftUI App•
Remove background from image in SwiftUI•
Protocol Extensions in Swift 6.0: New Tricks•
iOS Modular Architecture: From Monolith to Hybrid Approaches•
Guiding the Golden Age: Rebuilding Indoor Navigation for Rijksmuseum•
Mastering Color Views in SwiftUI•
Notification Deep Linking | Open Specific View From Push Notifications•
Scalable Continuous Integration for iOS•
Recall — календарь для продуктивности•
Sharing — универсальное решение для хранения и совместного использования данных
Android• Вышла первая бета-версия Android 16
• Погружение в мир Lint'a в Android-проекте (часть 2)
• Абсолютно потрясающее, но определенно не всеобъемлющее руководство по тестированию пуш-уведомлений
• Jetpack Compose и Edge-to-Edge на Android 15
• Как синтаксический сахар Kotlin может сломать вам логику работы приложения
• Как сделать библиотеку, чтобы ей пользовались
• Как Класс производительности помог Google Maps предоствить первоклассный опыт
•
Using new Camera extensions API•
Widgets with Glance: Displaying Images•
Subcomposition in Jetpack Compose: How to Use Measurement Phase Data in Other Children•
Don’t let Maven block you!•
Mockk: My Favorite Mocking Library for Android•
Please don’t dox me Google: How to verify your Google Play account without exposing ALL of your information•
App taken down: Beware of adding a «surprise» free trial without updating the UI•
Code Optimization with Proguard and R8 in Android•
Stop hopping threads!•
Android Studio Meerkat Feature Drop•
Announcing Tuist Registry•
Programmatic navigation with Tab View in SwiftUI•
Auto Layout Made Easy: Master Constraints with a Powerful UIView Extension•
Comprehensive System Design of LinkedIn Android App•
F-Droid’s Progress and What’s Coming in 2025•
The future is adaptive: Changes to orientation and resizability APIs in Android 16•
From frustration to framework: Revamping UI testing at Qont•
Real-World Solutions for Remote Localization in Jetpack Compose Apps•
InputStreams & OutputStreams In Kotlin•
Working With Files In Kotlin•
Compose Performance for Us Humans•
CuteMusic — быстрый музыкальный плеер для Android•
Lumo-UI — плагин Gradle для создания компонентов Compose•
Android Interview Questions — вопросы и темы с Android-собеседований
Кроссплатформа• 5 лет React Native в Shopify
• Создание на Flutter MMO, достигшей $14k MMR в закрытом тестировании
• YPay & YPay Inventory для Flutter приложений
• Такие разные Slivers: обзор и применение во Flutter. Часть 1
• Спасти проект: с какими трудностями мы столкнулись при разработке и поддержке мобильной кроссплатформы
• Аналитика в мобильном приложении на Flutter. Часть 1. Yandex AppMetrica
•
Introducing card_game: A declarative Flutter package that makes building card games easy•
Compose multiplatform is real•
Writing Golden Tests in Flutter•
Detecting Text with Camera in Compose Multiplatform•
Design Systems in Flutter. Why and How.•
Becoming a KMP Expert•
Multi-language Support in Kotlin/Compose Multiplatform•
Flutter Animations Made Easy
Разработка• Технический гайд по сторис или как мы повысили конверсию в мобильном приложении в 9 раз
• Автоматизируем рутинные задачи и сокращаем бюджет на дизайн: Figma Variables в создании макетов мобильных приложений
• UI/UX тренды в 2025: угрожает ли ИИ будущему дизайнеров и какие визуальные тренды нас удивят?
• Токены цвета для приложения: Как создать, использовать и передать в разработку
• ,Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов
• Управление ресурсами в DevOps: от облачных решений до «железных» серверов
• Универсальное решение для мобильного автотестирования
• Смена профессии в IT — Карьера, Профессиональный рост
•
I am (not) a Failure: Lessons Learned From Six (and a half) Failed Startup Attempts•
Your Career is a Startup: Building Sustainable Growth, One Stage at a Time•
Why You Need a ‘NOT Doing’ List, not a Todo List•
Why manual Release Notes and Versions are a chaos and how to fix it•
The fizzbuzz that did not get me the job•
Neetcode 150 Course — All Coding Interview Questions Solved
Аналитика, маркетинг и монетизация• Состояние мобильного рынка в 2024 году — отчет Sensor Tower
• Никита Бир о том, как создавать виральные продукты
• Сокращается ли рынок приложений — Обсуждение на Reddit
• Супераппы «супергорода» или что такое Careem и Noon в Дубае? Обзор приложений. Часть 1: Careem
• Epic поможет покрыть расходы разработчиков на iOS
• Раскрываем секреты маркетинга в 5 квартале
AI, Устройства, IoT• Заменяем хабраюзеров ИИ-агентами. Гайд по browser-use
• История бюджетной автоматизации отопления в Home Assistant)
• Home Assistant на Raspberry Pi 5
• Google и Samsung работают над AR-очками
• В SmartThings от Samsung появятся функции искусственного интеллекта
• Perplexity запускает Sonar, API для ИИ-поиска
• Tencent представила Hunyuan3D 2.0 — открытую ИИ-систему 3D моделирования
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.