В новом выпуске применение для .fixedSize и (не)слежка в приложениях Яндекс для Android, погружение в One‑Time Events в Android и регрессионное UI-тестирование для iOS, Shipaton 2026 от JetBrains, offline‑first PWA, сканер для слабых смартфонов, идеальный телефон для цифрового детокса и многое другое. Заходите!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS
• Picture-in-Picture в iOS: от запуска до переключения контента
• Наконец-то я нашел применение для .fixedSize
• Как мы построили систему регрессионного UI-тестирования для iOS-приложения: XCUITest, mock backend и XcodeBuildMCP
• 50 вопросов о System Design, ответы на которые должен знать каждый Senior iOS-разработчик: часть 5
• Revisiting the JET iOS Modular Architecture in 2026
• Demystifying Thread Hopping with Swift 6.2 Approachable Concurrency
• iOS 27: Media Intelligence Framework
• Previewing SF Symbols with Apple’s own renderer
• An Even Closer Look at Protocols and Global Actors
• Building a reusable API client with URLSession in Swift
• Using SwiftUI’s ContentBuilder with Non-View Types
• Preview Multiple SwiftUI View States with #Preview(arguments:)
• Alignment guides in SwiftUI
• SwiftUI Architecture in Real Projects: How I Structure Apps That Scale
• Supporting Multiple iOS Versions in SwiftUI Without Turning Your Views Into a Mess
• Controlling Orphans in SwiftUI Text: Uncovering the Undocumented avoidsOrphans
• Complex UI: Apple Sports App’s Timeline Slider Interaction Using SwiftUI
• SwiftUI Image Caching Explained — Faster Lists & Better Performance
• iOS 27 Siri Bubble Effect Using SwiftUI
• Diligence — экраны О приложении на SwiftUI
• Untold Engine — Swift/Metal XR-движок
Android
• Как за вами следит Яндекс: часть 1/3 + «Как за вами (не) следит Яндекс»: что на самом деле происходит внутри Android-приложений
• 14 лет в Android-разработке, но кажется, что мобильная разработка умирает. Реально ли перейти в серверную разработку на Kotlin?
• Погружение в One‑Time Events в Android
• 7 стадий AI в разработке: от скептика к архитектору
• Одна строчка, которая пожирала нашу память
• Routing Modes Are Not a Routing Policy
• The One-Liner That Was Eating Our Memory
• State Management Patterns That Should Be Known By Every Compose Developer
• Architecting Alarms & Notifications in Android: The Clean Architecture Way
• IntelliJ IDEA Goes LSP: Java and Kotlin Intelligence Comes to VS Code, Cursor, and Agentic Flows
• Android AppFunctions: Teaching AI Agents How to Use Your App
• Your Android App Is One Null Away From Crashing — Here’s Why
• Introducing Isolated Projects
• Android AI Tools: Vibe coding, sub-agents, and the Android CLI
• The 8 Golden Rules of Writing Clean Functions — Clean Code In Kotlin
• Crafting Delightful Experiences
• Increasing Quality of AI Generated Kotlin Code
• How Kotlin Powers Functional Design: MCP Edition
• Securing Gradle Builds Full Course
• Debroid — автономный отладчик Android-приложений для ИИ-агентов
• Tidy — управление задачами
• Strata — управление зависимостями между слоями архитектуры
Кроссплатформа
• JetBrains приглашает разработчиков Kotlin на Shipaton 2026 с призовым фондом $30 000
• Offline‑first PWA на примере фитнес‑трекера
• Сборщик мусора в Dart. Часть 2: поколения и scavenge
• Desktop Hot Reload for Compose Multiplatform: One Save Updates Your Android Device and Desktop Window Together
• Fuel Strategy: Paging in Compose Multiplatform
• Building a Practical Kotlin Multiplatform Platform Kit
• Why Flutter + Rust Might Be the Most Underrated Combo in Mobile Development
• Adding a Koog AI assistant (with structured output) to the FantasyPremierLeague CMP sample
• Practical Kotlin Multiplatform: Implementing the Firebase Sign-up Operation with Ktor
• How I Added Beautiful Blur Effects to My Flutter App
• How I Added Home Screen Quick Actions to My Flutter App
• Can Kotlin Swift Interop Ever Be Perfect?
• Livecoding Soundscapes with Compose Multiplatform
• Hot-Reloading Kotlin/Native
• Compose beyond UI : Display and Print!
Разработка
• Спустя 3 года и 200 миллионов строк я наконец-то перестал использовать UUID в качестве ключа
• От object detection к классическому CV: разрабатываем сканер для слабых смартфонов
• UX-ресерч в эпоху AI — AI в исследованиях, ResearchOps, Muse Group
• Число студентов, поступающих на факультет компьютерных наук, снижается
• Cloudflare открыла код Cloudflare OS, доступного через браузер рабочего пространства с ИИ для компаний
• Samsung запрещает приложения для смарт-телевизоров с прокси и загружаемым кодом
• The true power of regular expressions
• My Agentic Coding Setup, July 2026
• New UX/UI Trends That Top Designers Are Switching To
• A Deep (and Fuzzy) Dive Into Search
• Designing with code
• How Korea & Japan turned ordering food into a UX masterclass
Аналитика, маркетинг и монетизация
• Маркетологи в мобайле: Станислав Колосков (директор по маркетингу «585 Золотой»)
• В Индии начинают платить за приложения, а не просто скачивать их
• Autonomous Key физически блокирует ваши самые затягивающие приложения
• Что мы поняли про детей, когда делали детские задания в приложении
• Как предсказывать долгосрочный эффект A/B теста раньше: прокси-метрики и ловушка регрессии
• Как мы потеряли $5674 на рекламе приложения и неожиданно начали расти только после ее отключения
• Никита Бир уходит с поста руководителя отдела продуктов X
• Wrinkles раскрывает скрытые истории окружающих мест
• Outernet превращает ваши сохраненные записи в реальные приключения
• Shoot — App Screenshot & Icon Inspiration
• Все видео Google Playtime EMEA 2025
AI, Устройства, IoT
• Я искал идеальный телефон для цифрового детокса. Кажется, я его нашёл
• Инференс LLM на кластере старых ноутбуков
• Как масштабировать систему автоматизации сити-фермы
• Сколько токенов в секунду реально выдаёт Mac mini M4
• Мониторинг удалённых объектов без интернета: ESP, MacroDroid и старый Android
• Первая умная колонка OpenAI будет не только говорить, но и двигаться
• Introducing Gemini Robotics 2
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

