На этой неделе прошла 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

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