В новом дайджесте рассказываем как банки живут в заблокированном App Store, как создать UI-конструктор с помощью Compose Multiplatform, исследуем новый фреймворк внедрения зависимостей для Android и портируем кроссплатформенную С++ игру на iOS, изучаем Google Firebase Studio и многое другое. Заходите!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS
• App Store блокирует аккаунты разработчиков, а банки всё равно в сторах. Рассказываем, как они это делают
• Расширяем Text в SwiftUI с помощью динамической стилизации содержимого
• SwiftUI или UIKit: что выбрать для iOS-приложений?
• SwiftUI: Реализация разделенного координатора совместно с DeepLink (Universal link)
• SwiftUI: Пишем простое фитнес-приложение с использованием HealthKit
• Воспроизведение и редактирование видео с AVFoundation. Часть 2. Ассеты продвинутые
• Что делать после блокировки ADEP: MDM-системы, PWA или Android?
• Нервное смузи из Swift Package Registry
• Альтернативы XCUITest, или Как и зачем разработчику писать автотесты
•
Swift 6.1 Released
•
DocC for Multi-Platform Documentation
•
Modern URL construction in Swift
•
Cross Compiling Swift
•
Why I never subclass UITableViewCell or UICollectionViewCell
•
Create flexible interfaces in SwiftUI
•
Testing remote iOS push notifications in a simulator with simctl
•
SwiftUI: A Simple Copy Cat of the Calendar + Reminder App
•
Disassembling Apple Exclaves
•
Building WASM Applications with Swift
•
Supercharging SwiftUI Text with Dynamic Content Styling
•
Integrating TimelineView in a SwiftUI app
•
Keeping your Swift apps’ sensitive data secret
•
Set Up a Local Test Server with Swift in Under 5 Minutes + iOS app SwiftUI
•
Expandable Header with Hero Effect — Slack Header Animation | SwiftUI
•
SwiftUI — Scratch to Reveal animation
•
What’s new in Swift 6.1?
•
SwiftUI Micro-interactions — Slide To Confirm
•
Xcode 16.3 is Available Today (What’s New?)
•
DDKitSwift — набор инструментов отладки для iOS-приложений
•
SmartCodable — лучшие Codable
Android
• Как я создал UI-конструктор с помощью Compose Multiplatform, который экспортирует код Compose
• Узнаём какое аниме будет самым рейтинговым еще до выхода
• Лучшие приложения с открытым исходным на Kotlin
• Демоприложения: как жить, когда у вас 90+ application-модулей
• Metro — новый фреймворк внедрения зависимостей для Android
• Kotlin-bench — тест ИИ-моделей для Android-разработки
• Плавная миграция на Kotlin 2.1.0
• Полное руководство по созданию многоцветных тематических и адаптивных иконок для Android-приложений
• A/B-тестирование в Android-разработке: гайд для middle+ разрабов
• Почему нельзя использовать RecyclerView в NestedScrollView и как это исправить?
• Modo в действии: быстрая и гибкая навигация для Jetpack Compose
• Как сделать своп движка звонков в легаси-коде и не выгореть
• Backup в Android, или Как сэкономить бизнесу миллионы
• Экзоскелет для ExoPlayer
• Gemini в Android Studio для предприятий
•
Routines to Coroutines: How Kotlin Revolutionized Asynchronous Programming
•
Finding unnecessary Component Dependencies with Dagger SPI
•
How to build offline maps with OpenStreetMap on android
•
Fire and Forget with Kotlin Coroutines
•
Improving the Modal Bottom Sheet API in Jetpack Compose
•
Compose Meets YouTube: Production-Ready YouTube Playback with Jetpack Compose
•
A gentle introduction to coroutines in Kotlin, for Android developers
•
Adaptive Camera: Smooth Tabletop Mode with Animations
•
Dynamic Language Switching in Android: Real-World Lessons From Google Play Bundles
•
Top 3 Android Use Cases for Every SOLID Principle (with Code)
•
6 steps to make a “Slide to unlock” button in Jetpack Compose
•
Creating and Publishing an Android SDK: A Simple Step-by-Step Guide That Actually Works
•
Stop using Dispatchers.IO
•
System Design of an Atlassian Android App
•
Clean Permission Management in Android
•
Linting on the Side of Caution: Safety & Security — Android Developers Backstage
•
Google Play PolicyBytes — April 2025 policy updates
•
Kotlin 2.1.20 — Atomics, UUIDs, and more! — TypeAlias Show
•
Kyoku — музыкальный стриминг с 70 тысячами песен
•
Escape — минималистичный лаунчер для Android
Кроссплатформа
• Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1
• Это вам не игрушки: портирование кроссплатформенной С++ игры на iOS
• Accessibility Flutter-приложений, или Как увеличить трафик на 20
• Зачем мне Kotlin в iOS-разработке? Я только Swift выучил!
• Как мы сделали ставку на KMP
•
Flutter issues make apps look cheap and untrustworthy
•
From Phone to Dashboard: Build an Android Auto App with Flutter
•
Hot Reload For Flutter Web is Finally in Beta
•
Flutter + Supabase + Metabase — The Best Tech Stack Combo
•
Deep Dive into Background Processing in React Native
•
Flutter vs React Native — My Highly Opinionated Experience
•
Deep Dive into Background Processing in React Native
•
Lynx Tutorial – JS Framework for Cross Platform Development
•
Hot Reload For Flutter Web is Finally in Beta
Разработка
• Конец продуктовой разработки в том виде, в котором мы ее знаем
• Многопоточность в мобильных приложениях: руководство для QA-инженеров
• Почему компании не исправляют ошибки
• Google Firebase Studio – облачная AI-платформа для разработки приложений
• У нас в проекте был Compose Multiplatform, но снова я бы так не делал
• Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов
• Как дизайнить доступность для скринридера
• Проблемы маленьких приложений при увеличении нагрузки по данным
• Как выжать все соки из Jenkins
• Perl вернулся в TIOBE 20, а Kotlin и Swift выпали из нее
•
Google’s principles for measuring developer productivity
•
The Reality of Tech Interviews in 2025
•
Using LLM To Transcribe Restaurant Menu Photos
•
Don’t Mock Your Framework: Writing Tests You Won’t Regret
•
The day I taught AI to think like a Senior Developer
•
What it’s like to interview a software engineer preparing with AI
•
Staying productive as an indie developer
•
Top 5 Mobile System Design Concepts Explained
•
Freelancing as Mobile Dev vs. Full-time Job — Which Path Is Best For YOU?
•
Introducing Agent Development Kit
Аналитика, маркетинг и монетизация
• Самые скачиваемые и зарабатывающие приложения в России в марте 2025
• Как правильно проводить и оценивать A/B-тесты в ASO
AI, Устройства, IoT
• Антарктида, солнечные панели и пингвины: как автоматизировали лагерь на краю света
• Я работал в продуктовой команде 7 лет, а потом пришла нейросеть
•
Train Your Own LLM – Tutorial
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

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

• App Store блокирует аккаунты разработчиков, а банки всё равно в сторах. Рассказываем, как они это делают
• Расширяем Text в SwiftUI с помощью динамической стилизации содержимого
• SwiftUI или UIKit: что выбрать для iOS-приложений?
• SwiftUI: Реализация разделенного координатора совместно с DeepLink (Universal link)
• SwiftUI: Пишем простое фитнес-приложение с использованием HealthKit
• Воспроизведение и редактирование видео с AVFoundation. Часть 2. Ассеты продвинутые
• Что делать после блокировки ADEP: MDM-системы, PWA или Android?
• Нервное смузи из Swift Package Registry
• Альтернативы XCUITest, или Как и зачем разработчику писать автотесты
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Как я создал UI-конструктор с помощью Compose Multiplatform, который экспортирует код Compose
• Узнаём какое аниме будет самым рейтинговым еще до выхода
• Лучшие приложения с открытым исходным на Kotlin
• Демоприложения: как жить, когда у вас 90+ application-модулей
• Metro — новый фреймворк внедрения зависимостей для Android
• Kotlin-bench — тест ИИ-моделей для Android-разработки
• Плавная миграция на Kotlin 2.1.0
• Полное руководство по созданию многоцветных тематических и адаптивных иконок для Android-приложений
• A/B-тестирование в Android-разработке: гайд для middle+ разрабов
• Почему нельзя использовать RecyclerView в NestedScrollView и как это исправить?
• Modo в действии: быстрая и гибкая навигация для Jetpack Compose
• Как сделать своп движка звонков в легаси-коде и не выгореть
• Backup в Android, или Как сэкономить бизнесу миллионы
• Экзоскелет для ExoPlayer
• Gemini в Android Studio для предприятий
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1
• Это вам не игрушки: портирование кроссплатформенной С++ игры на iOS
• Accessibility Flutter-приложений, или Как увеличить трафик на 20
• Зачем мне Kotlin в iOS-разработке? Я только Swift выучил!
• Как мы сделали ставку на KMP
•

•

•

•

•

•

•

•

•


• Конец продуктовой разработки в том виде, в котором мы ее знаем
• Многопоточность в мобильных приложениях: руководство для QA-инженеров
• Почему компании не исправляют ошибки
• Google Firebase Studio – облачная AI-платформа для разработки приложений
• У нас в проекте был Compose Multiplatform, но снова я бы так не делал
• Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов
• Как дизайнить доступность для скринридера
• Проблемы маленьких приложений при увеличении нагрузки по данным
• Как выжать все соки из Jenkins
• Perl вернулся в TIOBE 20, а Kotlin и Swift выпали из нее
•

•

•

•

•

•

•

•

•

•


• Самые скачиваемые и зарабатывающие приложения в России в марте 2025
• Как правильно проводить и оценивать A/B-тесты в ASO

• Антарктида, солнечные панели и пингвины: как автоматизировали лагерь на краю света
• Я работал в продуктовой команде 7 лет, а потом пришла нейросеть
•

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