Новый большой дайджест после праздничного перерыва — архитектурный линтинг и 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

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