В новом дайджесте последствия уменьшения приложений и новый шаг в передаче зависимостей Swift, улучшение доступности в Android-приложениях и перформанс, лёгкий и быстрый DI-контейнер, Offline-First приложения, ускорение загрузки экрана, больше рекламы в App Store и многое другое. Заходите!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А еще завел себе новый канал про инди, соло, пет и прочие проекты.
iOS
• Я уменьшил iOS-приложение с 200 до 8 МБ: побочные эффекты, которых я не ожидал
• Опенсорс-библиотека Implicits от Яндекс Браузера: новый шаг в передаче зависимостей Swift
• Ускорение CI сборок в Xcode с кэшированием слотов
• Все не так с Codable
• «Liquid Glass» на iOS 16: шейдеры — легко, а скриншоты — боль
• Побег из стеклянной тюрьмы. iOS Jailbreak. Часть первая
• Ставим приложения на iOS через Android
• А ваше приложение похудело к лету?
• Swift Configuration 1.0 released
• How to avoid retain cycles when working with tasks in Swift
• Battery life on iOS and the myth of killing apps
• Every Senior iOS Developer Makes This Same Logical Mistake
• Stop Using MVVM: Why I Migrated My 100k-Line SwiftUI App to TCA (and How You Can Too)
• Stop Using Loops to Search Data in Swift — Instead, Do This
• The Coding Round Where I Forgot the Most Basic Edge Case — And Paid for It
• Building Complex UIs with SwiftUI Phases
• Keep Your Strings Clean and Localized in a Single File
• Implementing subscriptions In-App Purchases with StoreKit 2
• From broken to testable SwiftUI navigation: The decoupled approach of MVVM with coordinators
• Analysing and Removing Hangs in iOS Apps
• Stretchable Header in SwiftUI for Vertical and Horizontal ScrollView
• My Worst iOS Interview Ever — The Senior Reviewer Who Destroyed My Architecture Diagram
• Frames in SwiftUI Explained
• 10 SwiftUI Modifiers of iOS 26+ You Probably Missed
• Why Startups Are Slowly Abandoning Native iOS
• Implementing Consumable In-App Purchases with StoreKit 2
• Senior iOS Engineer Mock Interview — Hotel Booking System Design
• Apple Books Expandable Menu — SwiftUI
• Truncated Text Effect — Tap to Expand Text View, Text Animations, Text Renderer — SwiftUI
• How I use Codex GPT 5.2 with Xcode (My complete workflow)
• App Store Style Toolbar Scroll Effect — Toolbar Header Scroll Effect — SwiftUI
• Smarter Lists, Labels, and Dictionary Grouping in SwiftUI
• Snowdrop — простая работа с сетью
• Cupertino — локальный сканер документации Apple и сервер MCP
Android
• Улучшение доступности в Android-приложениях
• От ощущений к цифрам: как мы внедрили метрики перформанса в Android-приложение
• Разработка видеоредактора
• Публикация Android и KMP библиотеки в Maven Central
• Shared element transitions for large screened devices
• From View.INVISIBLE to Modifier.visible(): Rethinking Visibility ️in Jetpack Compose
• KToon: Tiny Tables, Big Savings Plug TOON into Your @Serializable Kotlin Classes
• From Zero to Hero: Running Google’s Gemma 3n on Android with LiteRT & Qualcomm QNN
• Tap Detection on Arbitrary Shapes with Compose
• When Kotlin Flow Needs channelFlow and callbackFlow
• Understanding MVI in Jetpack Compose with Clean Architecture
• The Android Threading Question That 90% of Developers Get Half Right
• WorkManager in Android: Background Tasks Done Right
• 15 Must-Know Android Interview Questions for 2025
• Kotlin 2.3.0 Released
• 18% Faster Compiles, 0% Compromises
• Theming Your App for the Holidays
• Build smarter apps with Gemini 3 Flash
• Implementing Play Store Age Signals API in Android (Kotlin)
• Stop Writing Massive when Statements: Master the State Pattern in Kotlin
• Navigate Back With Result In Navigation3 (CMP & Native Android)
• Scenes & Scene Strategies In Navigation3 (CMP & Native Android)
• Coroutines Need a Scope… and That’s a Good Thing!
• MoviQ — умный трекер фильмов
• Android Gradle Graph Plugin — мониторинг зависимостей проекта
• ComposeGuard — обнаружение нарушений правил и лучших практик Jetpack Compose\
Кроссплатформа
• DRTDI: лёгкий и быстрый DI-контейнер для Dart и Flutter
• Сдвиг камеры в 2ГИС MSDK на маркер при разных углах поворота камеры
• Нейминг в Dart: полезные примеры из документации
• Да кто такой этот ваш 2D-скролл?
• Announcing RNRepo: Faster React Native Builds Through Prebuilt Artifacts
• Building the Same Screen in Flutter, SwiftUI & Compose: A Real Developer’s Reality Chec
• Flutter Hot Reload Isn’t Enough (And Why Flutter Developers Need Widget Previews)
Разработка
• Я попытался сделать Offline-First приложение, и это чуть не уничтожили проект
• Скандалы, интриги, продуктовые метрики: что нам дало ускорение загрузки экрана в приложении hh
• Как мы перевернули подход к мобильным интерфейсам с Backend Driven UI
• Я использовал MVVM на собеседовании в стартапе — меня спросили «почему»
• Вспомнить все: как онбординг и подробные макеты позволяют дизайнерам не впасть в хаос
• TransmateSDK — ваш товарищ-полиглот
• Яндекс обновил процесс найма: что внутри?
• Сокращения, AI и рынок СНГ: кто останется востребованным в IT
• Онбординг пользователей — Активация, retention, продуктовая ценность
• Compose и SwiftUI: найди 10 отличий
• Запускаем мобильные UI-тесты эффективно
• Как мы писали проигрыватель с нуля под каждую платформу
• Как ВКонтакте измеряет перфоманс приложений
• Очевидные и неочевидные дыры безопасности в мобильной разработке
• Страх и ненависть в мобильных автотестах. Строим своё облачное решение
• Google и Apple выпустили экстренные обновления безопасности после атак нулевого дня
• How to Build Your First ChatGPT App
• How Pinterest Built a Real‑Time Radar for Violative Content using AI
• 10 Automation Tools Every Lazy Developer Should Use
• AI code creates 1.7x more problems
• Unity 2D Pixel Art Game Tutorial
• Intro to Supabase – Full Tutorial for Beginners
Аналитика, маркетинг и монетизация
• Apple разрешила себе собирать долги с разработчиков
• Японский App Store обновляется для соответствия MSCA
• В поиске App Store будет больше рекламы
• Прогнозы развития цифровой экономики в 2026 году
• Google тестирует помощника по повышению продуктивности на основе электронной почты
• Retro позволяет вам «путешествовать во времени» по вашей фотогалерее
• Почему ваши воронки вам лгут и как можно измерить ценность действий пользователя
• ASOGenius: бесплатный ИИ-инструмент для ASO
AI, Устройства, IoT
• Kак мы разработали новую модель автодополнения кода в GigaCode
• Как я автоматизировал автокемпинг в Геленджике и прикрутил вендинг к стиралкам
• Как наш shell похорошел
• Запускаем LLM на iPhone локально — мой опыт с Gemma 2B
• Умный дом. Схема контроллера CAN
• ИИ-агенты в жизненном цикле ПО: от ассистентов к полноценным членам команды
• OpenAI открывает ChatGPT для сторонних приложений
• «Станьте инженером, использующим искусственный интеллект» — обучающий курс JetBrains и Nebius
• Home Assistant — приложение, возглавляющее революцию в сфере «умного дома»
• Gemini Flash Native Audio: Build a Voice AI Ordering System in Python
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту
