Новый большой дайджест после праздничного перерыва — архитектурный линтинг и Material 3 Expressive, тёмные уголки обфускации и Compose Multiplatform для iOS, типобезопасная передача результатов, сломанные OTP и открытые конечные точки, UI-дизайн с ChatGPT и многое другое. Заходите!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS
• Архитектурный линтинг для Swift: часть 4
• Используем Core Motion в SwiftUI-приложении
• XCUITest для начинающих: как сделать тестирование iOS красивым с Allure
• GPT, DeepSeek и Qwen: идеальные unit-тесты в эхо-камере
• Новые функции доступности Apple для iPhone, iPad, Mac и Apple Vision Pro
• Учим Metal и image processing лишь бы не верстать на iOS
• Race Condition: проблема гонки потоков — что это и как избежать?
• Под капотом iOS-крешей
• TextField с автодополнением
• SwiftUI-навигация: просто, нативно и декларативно
• Удивительный мир внутри .ipa
• Core Motion framework в финансовых приложениях
•
Scheduling notifications with time, calendar, and location triggers in iOS
•
Adding dependencies to binary Swift packages
•
Concurrency-Safe Testing in Swift 6.1 with @TaskLocal and Test Scoping
•
Knowing when the battle is lost with XCUITests
•
Demystifying Picture in Picture on iOS
•
SwiftUI View Model Ownership
•
Regular Expressions in Swift
•
Formatting data inside SwiftUI Text views
•
Vibe Xcoding your apps
•
Optimized mathematical computations in Swift
•
Customizing an App Intent
•
SwiftUI Picker With Optional Selection
•
Debug crashes in iOS using MetricKit
•
Synthesizing text into speech
•
Demystifying SwiftUI’s .ignoredByLayout()
•
Default isolation with Swift 6.2
•
The Power of KeyPath in SwiftUI
•
Matrix3D: Large Photogrammetry Model
•
Using ScrollViewReader for Programmatic Scrolling in SwiftUI: A Tutorial
•
Change a map viewpoint with MapKit
•
Ultimate Guide to Dependency Injection for Modular iOS app
•
Create a Simple Theming Architecture with SwiftUI
•
Resizable ScrollView Header | Scroll To Hide Header — SwiftUI
•
SwiftUI Theme Switcher in 3 Minutes – Light & Dark Mode Made Easy
•
Building emoji reactions in 5 minutes with SwiftUI
•
Customized Paywall using Native SwiftUI StoreKit APIs
•
Apple Engineer Shows How To Build a SwiftUI Sleep Tracker
•
3 Ways to Initialize @State in SwiftUI
•
Apple’s Widget Backdoor
•
SwiftOpenAI — пакет Swift для взаимодействия с публичным API OpenAI
•
ProgressUI — кастомизируемые и анимированные индикаторы прогресса для SwiftUI
•
Prefire — библиотека тестирования на основе Xcode Preview
Android
• Руководство по потреблению памяти Android Studio
• Типобезопасная передача результатов между экранами в Compose с Jetpack Navigation
• Google анонсирует дизайн Material 3 Expressive
• Мастерство фокусов на Compose (часть 2): как работает запрос фокуса
• Прячем код по-настоящему: тёмные уголки обфускации R8 и ProGuard
• ML KIT — Современное решение для сканирования в Android приложениях
• Jetpack Compose 1.8 уже здесь — и он меняет правила игры
• Подготовьте свои Android-приложения для страницы памяти в 16 КБ
• Тестирование Compose по-новому: простота, надежность, гибкость
• Путешествие к центру Композиции
• Scout: новый фреймворк для ускоренного и безболезненного управления зависимостями
• Компиляторные плагины: модификация и анализ Сompose
• Как я code coverage внедрял да Gradle plugin для baseline писал
•
Stale Data & Leaks were killing my Kotlin apps for 5 years. Here’s the fix.
•
Does Junie Create Accessible Android Apps?
•
Simpler Gradle plugin loading
•
Blazing fast app uninstalls for lazy Android Devs
•
Kotlin’s Builder Functions: A Better Way to Create Lists, Maps, Strings & Sets
•
Building delightful Android camera and media experiences
•
Fast Feedback: Winning Back 60% of Our CI Time
•
Effective Strategies for Testing Asynchronous Kotlin Code
•
Compose UI Performance Secrets (Part 1): 5 Core Optimizations Every Developer Should Know
•
Compose UI Performance Secrets (Part 2): 5 Advanced Techniques for Ultra-Smooth Apps
•
Using movableContentOf for shared transitions in Jetpack Compose
•
How to Use Firebase Remote Config in Server: Dynamic Control and AI Parameter Management
•
Securing Android: Behind a few seconds of payment transaction …
•
Why is Modern Android Development So Hard?
•
How to Run Local LLM (AI) in Android Studio
•
Avoid using Array in the data class constructor in Kotlin
•
Modern Android App Architecture with Clean Code Principles (2025 Edition)
•
Start building with Material 3 Expressive
•
Imperative vs Declarative in Android — The Real Difference
•
Tooltips in Compose Material 3
•
Builder & Factory patterns in Kotlin — A Walk-Through Object
•
The navigation drawer is being deprecated in the Material 3 expressive update
•
The Android Show: I/O Edition
•
Now in Android: 116 – Google I/O, Gemini, and Jetpack Compose 1.8
•
What’s new in Android Studio Meerkat Feature Drop
•
Android Testing Strategies
•
Tools and patterns for scalable Android app testing
•
5 Anti-Patterns With Coroutines & Flows You MUST Avoid!
•
How Kotlin is Powering TV Broadcasts Worldwide
•
Android & Kotlin Development Masterclass – Full Course
•
Build your App from Scratch without Material 3 Color System
•
Compose Unstyled — набор дизайн-компонентов Compose
•
Haze — размытие глассморфизма для Compose
•
Night Clock — минималистичные часы для Android
Кроссплатформа
• Compose Multiplatform для iOS стабилен и ждет ваших приложений
• Когда JavaScript недостаточно: Практика разработки нативных модулей для React Native
• Kotlin Multiplatform vs Compose Multiplatform: отличия, способы создания и как запустить на iOS
• Готов ли Compose iOS к продакшену?
•
Implementing DataStore in Kotlin Multiplatform Projects
•
I use this clean architecture setup for all my Flutter projects — finally made it public
•
Flutter Tips
•
Flutter Isolates: Multithreading Made Easy in Dart
•
5 React Native Truths I Wish I Knew Before Building 10+ Apps
•
The Ultimate Guide to Flutter’s Most Useful Packages
•
Kotlin Multiplatform: Have your code and eat it too
•
MCP Explained for Flutter Developers: Everything You Should Know
Разработка
• Как сломанные OTP и открытые конечные точки могут превратить приложение для знакомств в кошмар
• UI-дизайн с ChatGPT 4o
• Left Shift Testing: как выстроить процесс, чтобы тесты реально помогали
• Как мы в YouGile сделали голосовые круче, чем Telegram. Их полюбят даже хейтеры
• Идеальный процесс взаимодействия аналитика и мобильного разработчика
• Первый проект на HarmonyOS — мой плейлист для старта с нуля
• История одного редизайна. Экран карты в мобильном приложении ОТП Банка
• Погружаемся в пуши. Создаём свою альтернативу сервисам рассылки Push
• Разработчик HarmonyOS Next про ArkTS и HarmonyOS
• Язык программирования Groovy: JVM языки, Java, Kotlin, Gradle, DSL
• Как работают нейроинтерфейсы: киборги, Neuralink, brain-computer interface
• Figma выпускает новые инструменты с искусственным интеллектом для создания сайтов, прототипов приложений и маркетинговых ресурсов
•
Learning to Think in an AI World: 5 Lessons for Novice Programmers
•
Dumb Leadership Mistakes I’ve Made
•
Write the most clever code you possibly can
•
When SOLID breaks: Choose CLARITY
•
Good vs Great Animations
•
Duolingo Just Ended The Term “UX Design”
•
Design Messenger — Mobile System Design Mock Interview
•
C++ Course: Build an Audio Plugin
Аналитика, маркетинг и монетизация
• Сравнение конверсий IAP и веб платежей в iOS-приложении
• Приложения для знакомств сделали лучший месяц по доходам за всю историю
• В новом приложении Airbnb все, что нужно для отдыха, в одном месте
• Duolingo заменяет сердечки энергией
• Эмулятор Delta сделал Patreon главной системой монетизации в App Store
• Самые скачиваемые и зарабатывающие приложения в России в апреле 2025
• Самые скачиваемые и зарабатывающие приложения в мире в апреле 2025
• Epic Games одержала крупную победу и Apple было предписано выполнить судебное решение по App Store
• Стоит ли разработчикам iOS-приложений переходить на веб-платежи?
•
Ask HN: How are you acquiring your first hundred users?
AI, Устройства, IoT
• Как найти и потерять бэкдор в ESP32
• Что убивает ваши IoT-проекты — и как Edge это исправит
• Как декомпозиция повышает точность распознавания текста: опыт с фотографиями СТС
• Галлюцинации моделей текстовых ИИ, и как с ними бороться
• Windsurf выпустил свои ИИ-модели для программной инженерии
• Stability AI выпустила модель генерации звука, которая может работать на смартфонах
• OpenAI хочет создать ОС всей жизни на основе ИИ
• Apple выпустила новый визуальный энкодер FastVLM
• LegoGPT — ИИ-модель для сборки моделей Lego
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

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

• Архитектурный линтинг для Swift: часть 4
• Используем Core Motion в SwiftUI-приложении
• XCUITest для начинающих: как сделать тестирование iOS красивым с Allure
• GPT, DeepSeek и Qwen: идеальные unit-тесты в эхо-камере
• Новые функции доступности Apple для iPhone, iPad, Mac и Apple Vision Pro
• Учим Metal и image processing лишь бы не верстать на iOS
• Race Condition: проблема гонки потоков — что это и как избежать?
• Под капотом iOS-крешей
• TextField с автодополнением
• SwiftUI-навигация: просто, нативно и декларативно
• Удивительный мир внутри .ipa
• Core Motion framework в финансовых приложениях
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Руководство по потреблению памяти Android Studio
• Типобезопасная передача результатов между экранами в Compose с Jetpack Navigation
• Google анонсирует дизайн Material 3 Expressive
• Мастерство фокусов на Compose (часть 2): как работает запрос фокуса
• Прячем код по-настоящему: тёмные уголки обфускации R8 и ProGuard
• ML KIT — Современное решение для сканирования в Android приложениях
• Jetpack Compose 1.8 уже здесь — и он меняет правила игры
• Подготовьте свои Android-приложения для страницы памяти в 16 КБ
• Тестирование Compose по-новому: простота, надежность, гибкость
• Путешествие к центру Композиции
• Scout: новый фреймворк для ускоренного и безболезненного управления зависимостями
• Компиляторные плагины: модификация и анализ Сompose
• Как я code coverage внедрял да Gradle plugin для baseline писал
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Compose Multiplatform для iOS стабилен и ждет ваших приложений
• Когда JavaScript недостаточно: Практика разработки нативных модулей для React Native
• Kotlin Multiplatform vs Compose Multiplatform: отличия, способы создания и как запустить на iOS
• Готов ли Compose iOS к продакшену?
•

•

•

•

•

•

•

•


• Как сломанные OTP и открытые конечные точки могут превратить приложение для знакомств в кошмар
• UI-дизайн с ChatGPT 4o
• Left Shift Testing: как выстроить процесс, чтобы тесты реально помогали
• Как мы в YouGile сделали голосовые круче, чем Telegram. Их полюбят даже хейтеры
• Идеальный процесс взаимодействия аналитика и мобильного разработчика
• Первый проект на HarmonyOS — мой плейлист для старта с нуля
• История одного редизайна. Экран карты в мобильном приложении ОТП Банка
• Погружаемся в пуши. Создаём свою альтернативу сервисам рассылки Push
• Разработчик HarmonyOS Next про ArkTS и HarmonyOS
• Язык программирования Groovy: JVM языки, Java, Kotlin, Gradle, DSL
• Как работают нейроинтерфейсы: киборги, Neuralink, brain-computer interface
• Figma выпускает новые инструменты с искусственным интеллектом для создания сайтов, прототипов приложений и маркетинговых ресурсов
•

•

•

•

•

•

•

•


• Сравнение конверсий IAP и веб платежей в iOS-приложении
• Приложения для знакомств сделали лучший месяц по доходам за всю историю
• В новом приложении Airbnb все, что нужно для отдыха, в одном месте
• Duolingo заменяет сердечки энергией
• Эмулятор Delta сделал Patreon главной системой монетизации в App Store
• Самые скачиваемые и зарабатывающие приложения в России в апреле 2025
• Самые скачиваемые и зарабатывающие приложения в мире в апреле 2025
• Epic Games одержала крупную победу и Apple было предписано выполнить судебное решение по App Store
• Стоит ли разработчикам iOS-приложений переходить на веб-платежи?
•


• Как найти и потерять бэкдор в ESP32
• Что убивает ваши IoT-проекты — и как Edge это исправит
• Как декомпозиция повышает точность распознавания текста: опыт с фотографиями СТС
• Галлюцинации моделей текстовых ИИ, и как с ними бороться
• Windsurf выпустил свои ИИ-модели для программной инженерии
• Stability AI выпустила модель генерации звука, которая может работать на смартфонах
• OpenAI хочет создать ОС всей жизни на основе ИИ
• Apple выпустила новый визуальный энкодер FastVLM
• LegoGPT — ИИ-модель для сборки моделей Lego
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.