В новом выпуске распознавание номеров телефонов для пикника и первая бета 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 моделирования
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.