На этой неделе прошла I/O 2025 и главное на ней было посвящено ИИ, но и для Android-разработчиков есть много обновлений — новая навигация Jetpack Navigation 3, новые функции в Android Studio, обновления Google Play и т.д. Кроме этого новые релизы Flutter и Dart, плагин KMP для IntelliJ IDEA и Android Studio, большое обновление DivKit, тестирование без инцидентов в проде и многое другое. Заходите!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS
• Когда отладчик Swift лжет: скрытая стоимость компиляторных оптимизаций
• Работа в Aviasales, уход в сторону от iOS, поиск информации
• TOP 10 горячих клавиш для Xcode
• Swift Plugins: ускоряем сборку проекта
• Объединяем Combine и Swift Concurrency
•
SQLite Databases in App Group Containers: Just Don’t
•
Using Model Context Protocol in iOS apps
•
Let’s Build: PrettyPrint, a Better CLI Output
•
Institutional Purchases: Understanding and Detecting
•
Mesh gradients in SwiftUI
•
When the Swift Debugger Lies: The Hidden Cost of Compiler Optimizations
•
SwiftUI: Drawing with PencilKit. Basic To (A Little) Advance
•
What the Diff? Understanding SwiftUI’s Diffing Engine
•
Combining gestures and animations with SwiftUI
•
Exploring concurrency changes in Swift 6.2
•
Simplifying Dynamic Layouts with ViewThatFits in SwiftUI
•
Experience the Charm of Swift: One-Click DataFrame Export
•
Stop using Timer.publish in your SwiftUI views
•
Mastering Swift Concurrency
•
Unifying form validation using TCA
•
Graph-Based State Management in iOS Application
•
System Design: Design PullToRefresh for Large DataSets
•
The evolution of native engineering at Tripadvisor: Part 1
•
Colibri: The Fully Declarative And Turing-Complete Language Lurking Inside Swift’s Type System
•
10 Hidden Xcode Features That Will Boost Your Productivity
•
App Launch Time Optimization Techniques — iOS Development
•
Building Scrollable Tab View Using SwiftUI
•
How to Cancel a Task at anytime in Swift Concurrency
•
Mastering Custom Container Views in SwiftUI
• SwiftUI — Task Management App UI
•
Rosalind — анализ артефактов Xcode
•
Xtool — кроссплатформенная замена Xcode
•
ErrorKit — сообщения об ошибках Swift, удобные для человека
Android
• Видим невидимое: контроль качества Android-библиотек через объектив AppTracer Lite SDK
• 10 трюков Jetpack Compose, о которых вы, вероятно, не знаете
• Мечтают ли андроиды о Robolectric? Разбираем фреймворк по косточкам
• Открываем Konfeature, нашу open-source библиотеку для удобной работы с Feature Flags
• Контракты в Kotlin или как заключить сделку с совестью
• Google I/O 2025. Что нового в Android
• Что нового в Jetpack Compose
• Что нового в Google Play
• Android Studio получает больше ИИ-функций
• Android XR получил модных партнеров и Android XR SDK Developer Preview 2
• Google анонсирует Jetpack Navigation 3
• Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping
• Память в Android, утечки и OOM
• Взлом и защита Android-приложений
• Моментальный запуск: как VK Клипы работают с плейбэком видео на Android
•
Merge Your Computations
•
UI layer architecture for persistent UI elements
•
Implementing Passkeys in Android — A Full-Stack Guide
•
Eliminating Array Bounds Checks
•
Exploring Jetpack Compose for Widgets with Glance
•
Deep dive into annotations in Jetpack Compose
•
I Got an Offer from PayPal as an Android Developer — Here’s How I Cracked the Interview
•
How to Create a Custom Corner Badge in Jetpack Compose
•
Google Play personal account wasted 42 days of my life
•
Mastering ProGuard in Android Multi-Module Projects
•
Handling Backpressure in Kotlin Flows — buffer, conflate, collectLatest, debounce, sample and throttleFirst
•
Retrofit 3.0.0 is Here: Less Boilerplate, More Buzz
•
Material 3 Expressive Design: A New Era
•
Most Android Apps Break This One Clean Code Rule!
•
Build Sawa Community application using Android Studio, Kotlin, MVVM
•
KotlinConf 2025 Unpacked: Upcoming Language Features, AI-Powered Development, and Kotlin Multiplatform Upgrades
•
Building a Clean Domain-Driven Architecture in Android
•
Jetbrains releases an official LSP for Kotlin
•
What’s new in Android
•
What’s new in Google Play
•
What’s new in Android development tools
•
Adaptive Android development makes your app shine across devices
•
Seamless video capture, editing and playback with CameraX and Media3
•
Building differentiated apps for Android XR with 3D content
•
Unlock user productivity with desktop windowing and stylus support
•
Finding the perfect Gemini fit on Android
•
Best practices for using web in your Android apps
•
New in-car app experiences
•
Mastering text input in Compose
•
Build next-level UX with Material 3 Expressive
•
Android notifications and Live Updates
•
Google Home APIs, tools, and Gemini capabilities for your apps
•
How You Get Your Compose UI From Hundreds of Recompositions to Almost Zero
•
KotlinConf’25 – Day 1 Livestream (Feat. Keynote)
•
Gradle Configuration Cache: 2x faster, 4x smaller, and ready for Gradle 9.0
•
Jetpack Compose Design Patterns — лучшие паттерны проектирования
•
Androidify — конструктор ботов Android с новейшими технологиями
•
ZenTone — звуковой сигнал нужной частоты и громкости в Android
•
WikWok — Википедия в стиле TikTok
Кроссплатформа
• Новый плагин KMP для IntelliJ IDEA и Android Studio
• Нативная мощь: Flutter SDK на C++ ядре. Часть 1
• Как я пытался спасти аккаунт разработчика в Google Play и в итоге сделал крипто-приложение
• Flutter 3.32 — Что нового во Flutter?
• Dart 3.8 — что нового в Dart?
• KStorage — единый подход к key-value хранилищам на Kotlin Multiplatform
• Аналитика во Flutter-приложениях: Какие события отслеживать, примеры архитектур и настройка Firebase
• Generics в Dart
• Настраиваем навигацию во Flutter-приложении через AutoRoute
•
Inspect Flutter API Calls in Chrome DevTools
•
6 weeks into React Native dev. App works. I don’t.
•
Flutter Push Notifications: A Complete Guide (Android + iOS)
•
Dart & Flutter momentum at Google I/O 2025
•
A Pragmatic Guide to Migrating from Native to React Native (or choosing not to)
•
Flutter on ARMv6
•
Demystify KMP builds and structure
Разработка
• Нам не нужно больше приложений — нам нужны лучшие приложения
• Большое обновление DivKit: визуальный редактор, поддержка форм, аниматоры
• Stitch — новый ИИ-генератор дизайна от Google
• Это не шутка: чем «Аврора» уже круче Android
• Google I/O 2025 Keynote: ожидания vs реальность. И первые впечатления, конечно
• Тестирование без инцидентов в проде. Утопия или реальность?
• Стажировок мало, а джуны должны уметь всё: как становятся ИТ-специалистом в 2025 году
• Как тимлиду принимать сложные решения
• Язык программирования будущего – английский: визионерство, LLM, новая парадигма
• Как собеседовать мобильных инженеров? Системный дизайн спешит на помощь! (все собеседования)
• Проводим и проходим Mobile System Design-интервью
• Что такое Language Server Protocol и зачем он нужен
•
The Dumbest Move in Tech Right Now: Laying Off Developers Because of AI
•
Coding Without a Laptop — Two Weeks with AR Glasses and Linux on Android
Аналитика, маркетинг и монетизация
• Fortnite вернулся в App Store
• Spotify заявляет, что поддержка внешних платежей на iOS уже увеличила количество подписок
• Маркетологи в мобайле: Елена Зайцева (СМО Достависта)
•
Duolingo’s small UI switch that changes everything
AI, Устройства, IoT
• На входе аудио, на выходе — саммари. Собираем локальный транскрибатор из бесплатного софта
• Знакомьтесь, FRIDA. Открытая эмбеддинг-модель для русского языка
• Как я взломал миллионы умных весов через уязвимости в API и железе
• Умный дом без боли: интеграция нейросетей в Node-RED шаг за шагом
• E-paper Arduino термометр на ESP-IDF
• Умная квартира с видом на Енисей: есть ли смысл в XIOT?
• Хочу умный дом, умнее меня: история одного концепта
• OpenAI покупает компанию Джони Айва
• Vertex AI превращается в Firebase AI Logic
• Google выпустил приложение NotebookLM
• GitHub запустил нового ИИ-агента в Copilot
• OpenAI запускает Codex, агента по разработке, в ChatGPT
• MagicMirror — умное зеркало своими руками
•
How Google is accelerating code migrations with AI
•
How Pinterest Accelerates ML Feature Iterations via Effective Backfill
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.

• Когда отладчик Swift лжет: скрытая стоимость компиляторных оптимизаций
• Работа в Aviasales, уход в сторону от iOS, поиск информации
• TOP 10 горячих клавиш для Xcode
• Swift Plugins: ускоряем сборку проекта
• Объединяем Combine и Swift Concurrency
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• SwiftUI — Task Management App UI
•

•

•


• Видим невидимое: контроль качества Android-библиотек через объектив AppTracer Lite SDK
• 10 трюков Jetpack Compose, о которых вы, вероятно, не знаете
• Мечтают ли андроиды о Robolectric? Разбираем фреймворк по косточкам
• Открываем Konfeature, нашу open-source библиотеку для удобной работы с Feature Flags
• Контракты в Kotlin или как заключить сделку с совестью
• Google I/O 2025. Что нового в Android
• Что нового в Jetpack Compose
• Что нового в Google Play
• Android Studio получает больше ИИ-функций
• Android XR получил модных партнеров и Android XR SDK Developer Preview 2
• Google анонсирует Jetpack Navigation 3
• Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping
• Память в Android, утечки и OOM
• Взлом и защита Android-приложений
• Моментальный запуск: как VK Клипы работают с плейбэком видео на Android
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Новый плагин KMP для IntelliJ IDEA и Android Studio
• Нативная мощь: Flutter SDK на C++ ядре. Часть 1
• Как я пытался спасти аккаунт разработчика в Google Play и в итоге сделал крипто-приложение
• Flutter 3.32 — Что нового во Flutter?
• Dart 3.8 — что нового в Dart?
• KStorage — единый подход к key-value хранилищам на Kotlin Multiplatform
• Аналитика во Flutter-приложениях: Какие события отслеживать, примеры архитектур и настройка Firebase
• Generics в Dart
• Настраиваем навигацию во Flutter-приложении через AutoRoute
•

•

•

•

•

•

•


• Нам не нужно больше приложений — нам нужны лучшие приложения
• Большое обновление DivKit: визуальный редактор, поддержка форм, аниматоры
• Stitch — новый ИИ-генератор дизайна от Google
• Это не шутка: чем «Аврора» уже круче Android
• Google I/O 2025 Keynote: ожидания vs реальность. И первые впечатления, конечно
• Тестирование без инцидентов в проде. Утопия или реальность?
• Стажировок мало, а джуны должны уметь всё: как становятся ИТ-специалистом в 2025 году
• Как тимлиду принимать сложные решения
• Язык программирования будущего – английский: визионерство, LLM, новая парадигма
• Как собеседовать мобильных инженеров? Системный дизайн спешит на помощь! (все собеседования)
• Проводим и проходим Mobile System Design-интервью
• Что такое Language Server Protocol и зачем он нужен
•

•


• Fortnite вернулся в App Store
• Spotify заявляет, что поддержка внешних платежей на iOS уже увеличила количество подписок
• Маркетологи в мобайле: Елена Зайцева (СМО Достависта)
•


• На входе аудио, на выходе — саммари. Собираем локальный транскрибатор из бесплатного софта
• Знакомьтесь, FRIDA. Открытая эмбеддинг-модель для русского языка
• Как я взломал миллионы умных весов через уязвимости в API и железе
• Умный дом без боли: интеграция нейросетей в Node-RED шаг за шагом
• E-paper Arduino термометр на ESP-IDF
• Умная квартира с видом на Енисей: есть ли смысл в XIOT?
• Хочу умный дом, умнее меня: история одного концепта
• OpenAI покупает компанию Джони Айва
• Vertex AI превращается в Firebase AI Logic
• Google выпустил приложение NotebookLM
• GitHub запустил нового ИИ-агента в Copilot
• OpenAI запускает Codex, агента по разработке, в ChatGPT
• MagicMirror — умное зеркало своими руками
•

•

← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.