В новом дайджесте рассказываем о том, как Android управляет памятью, и смотрим под капот потокам, объясняем нюансы разработки PWA для Банка и программируем открытиями, исследуем удаление приложений в 2024 году, смешиваем цвета, ищем путь к стабильности и многое другое. Подключайтесь!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS
• Сравнение кода от DeepSeek и ChatGPT
• Смешивание цветов в SwiftUI
• Потоки под капотом: как работают многопоточность и синхронизация
• Путь к стабильности: как мы снизили потребление оперативной памяти в iOS-приложении
• Как мы адаптировали проект к Strict Concurrency Checking — Swift 6
• Меняем изображений у кнопки SwiftUI при нажатии
• iOS 18 охватила 68% всех iPhone
•
Network Link Conditioner: Simulating Slow Networking
•
Clean SwiftUI Navigation
•
Use DeepSeek R1 via API in Swift
•
Container relative frames in SwiftUI
•
Customizing the appearance of the NavigationStack title in SwiftUI
•
Learn to debug iOS features that require app start from external actions in Xcode
•
8 Swift Performance Tips I Learned After Years of Programming
•
Managing WebSocket messages concurrently with detached actions
•
RouterNavigation: A Practical Approach to Simplify iOS Navigation
•
How to Write Effective Swift Documentation in Xcode
•
Make an Audio Notes App using Whisper in Swift
•
Practical Swift Concurrency. Actors, isolation, sendability
•
Animated OTP Code TextField | SwiftUI
•
Manual View Orientation Control | Orientation Lock | SwiftUI
•
The easiest way to use SwiftUI in a UIKit app
•
Reorder & Move Cards Between Sections with Drag & Drop in SwiftUI + Core Data
•
SceneStorage
•
SwiftGPT — интеграция ChatGPT
•
qBitControl — удаленный клиент для qBittorrent
Android
• Как Android управляет маленькой памятью: Kswapd и LMK
• Будущее за адаптивностью: изменения в API ориентации и изменения размеров в Android 16
• Корутины Kotlin в продакшене: уроки и подводные камни
• Удаленная локализация в приложениях Jetpack Compose
• Android Studio исполнилось 10 лет
• Google предлагает «добровольный уход» сотрудникам, работающим над Pixel и Android
•
Koin Framework 2025 Roadmap: From 4.0 to Future Milestones
•
Faking Network Responses with MockK (Featuring Ktor)
•
Create a spotlight effect with CameraX and Jetpack Compose
•
My 2 cents for the Android Studio anniversary
•
How to Locally Test Your Android or KMM Library Using Maven Local
•
Groovy Who? Exploring Declarative Gradle
•
System Design of Google Photos or an Android Photo Gallery App: A Complete Guide
•
The Liskov Substitution Principle (LSP) in Kotlin — Deep Dive
•
Understanding Coroutines Dispatchers
•
How to Create a Reusable Premium Watermark in Jetpack Compose
•
Production-ready generative AI on Android with Vertex AI in Firebase
•
Real time Object Detection in Android with YOLOv11
•
How to Create a Jumpy Row Layout in Jetpack Compose
•
Enhance Your Game Graphics with Snapdragon Game Super Resolution 2
•
Understanding Kotlin Delegates with Practical Examples
•
Integrate Google Pay with Jetpack Compose on Android
•
Dagger-Hilt vs. Koin vs. Manual Dependency Injection
•
Efficient IO With Buffered Reading & Writing In Kotlin
•
Arrow for Everyone
•
Mesh Gradients in Jetpack Compose
•
Why Not Compose! — коллекция анимаций, композиций и пользовательских интерфейсов
•
Kompose Country Code Picker — выбор страны в Material 3
Кроссплатформа
• Нюансы разработки PWA для Банка Санкт-Петербург от первого лица
• 7 вещей, которые больше всего волнуют аудиторов в модуле критических данных Flutter-приложения
• Такие разные Slivers. Часть 2: базовые классы и делегаты
•
Best Local Database for Flutter Apps: A Complete Guide
•
Free Mobile App Security Testing for Flutter Developers
•
How to Integrate Firebase Analytics on iOS with Kotlin Multiplatform
•
An update on Dart macros & data serialization
•
Multi-Module KMP: The Ultimate Guide to Resource Sharing
•
3 BIG Flutter Interview Mistakes to Avoid (Before Your Next Interview!)
•
ComposableMemes — мемы на Compose Multiplatform
Разработка
• Слишком уж «Быстрый вход» в приложение Т-Банк на Android
• Программирование открытием
• Оптимизация 3D-текстурирования для мобильных игр при помощи градиентов
• CI для мобильной разработки или как мы используем fastlane
• Не вручную: почему стоит автоматизировать рутинные задачи для QA
• Самые высокооплачиваемые вакансии января в сфере разработки приложений
• Google поделился исходниками PebbleOS
• Проектирование и запуск разработки
• Как не уронить прод: Даниэль Халиулин про стабильный софт, качество и разработку
•
The «First AI Software Engineer» Is Bungling the Vast Majority of Tasks It’s Asked to Do
•
Building a Secure Proximity-Based Login System with Bluetooth Low Energy
•
How We Scaled Slack to Support 1000s of Developers
•
My failed attempt to shrink all npm packages by 5%
•
Writing better error messages for your apps
•
Seven things I know after 25 years of development
•
Dopamine addiction to coding
•
Serving a billion web requests with boring code
•
LLM Course – Build a Semantic Book Recommender (Python, OpenAI, LangChain, Gradio)
Аналитика, маркетинг и монетизация
• Удаление приложений в App Uninstall Report 2025 от AppsFlyer
• Как вырастить ARR с $0 до $700 тыс: советы
• Bookshop.org бросает вызов Amazon с помощью новой платформы для электронных книг
• В новогодние праздники мобильные Action-игры стали самыми популярными у россиян
• Тренды маркетинга мобильных приложений в 2025 году
•
Casual Games Report 2024: Following the 5 Routes to Success
•
What (free) graphics tool do you use to make your app icon?
•
How We Used Psychology To Increase Positive Reviews
AI, Устройства, IoT
• DeepSeek — новый ChatGPT, Qwen — новый DeepSeek? Проверяем модели в разработке, иллюстрациях и готовке
• Радарные датчики Logitech позволят компаниям следить за своими офисами
• Block выпустил ИИ-агента для разработки ПО Goose
• JetBrains запустила Junie — ИИ-агента для программирования
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS• Сравнение кода от DeepSeek и ChatGPT
• Смешивание цветов в SwiftUI
• Потоки под капотом: как работают многопоточность и синхронизация
• Путь к стабильности: как мы снизили потребление оперативной памяти в iOS-приложении
• Как мы адаптировали проект к Strict Concurrency Checking — Swift 6
• Меняем изображений у кнопки SwiftUI при нажатии
• iOS 18 охватила 68% всех iPhone
•
Network Link Conditioner: Simulating Slow Networking•
Clean SwiftUI Navigation•
Use DeepSeek R1 via API in Swift•
Container relative frames in SwiftUI•
Customizing the appearance of the NavigationStack title in SwiftUI•
Learn to debug iOS features that require app start from external actions in Xcode•
8 Swift Performance Tips I Learned After Years of Programming•
Managing WebSocket messages concurrently with detached actions•
RouterNavigation: A Practical Approach to Simplify iOS Navigation•
How to Write Effective Swift Documentation in Xcode•
Make an Audio Notes App using Whisper in Swift•
Practical Swift Concurrency. Actors, isolation, sendability•
Animated OTP Code TextField | SwiftUI•
Manual View Orientation Control | Orientation Lock | SwiftUI•
The easiest way to use SwiftUI in a UIKit app•
Reorder & Move Cards Between Sections with Drag & Drop in SwiftUI + Core Data•
SceneStorage•
SwiftGPT — интеграция ChatGPT•
qBitControl — удаленный клиент для qBittorrent
Android• Как Android управляет маленькой памятью: Kswapd и LMK
• Будущее за адаптивностью: изменения в API ориентации и изменения размеров в Android 16
• Корутины Kotlin в продакшене: уроки и подводные камни
• Удаленная локализация в приложениях Jetpack Compose
• Android Studio исполнилось 10 лет
• Google предлагает «добровольный уход» сотрудникам, работающим над Pixel и Android
•
Koin Framework 2025 Roadmap: From 4.0 to Future Milestones•
Faking Network Responses with MockK (Featuring Ktor)•
Create a spotlight effect with CameraX and Jetpack Compose•
My 2 cents for the Android Studio anniversary•
How to Locally Test Your Android or KMM Library Using Maven Local•
Groovy Who? Exploring Declarative Gradle•
System Design of Google Photos or an Android Photo Gallery App: A Complete Guide•
The Liskov Substitution Principle (LSP) in Kotlin — Deep Dive•
Understanding Coroutines Dispatchers•
How to Create a Reusable Premium Watermark in Jetpack Compose•
Production-ready generative AI on Android with Vertex AI in Firebase•
Real time Object Detection in Android with YOLOv11•
How to Create a Jumpy Row Layout in Jetpack Compose•
Enhance Your Game Graphics with Snapdragon Game Super Resolution 2•
Understanding Kotlin Delegates with Practical Examples•
Integrate Google Pay with Jetpack Compose on Android•
Dagger-Hilt vs. Koin vs. Manual Dependency Injection•
Efficient IO With Buffered Reading & Writing In Kotlin•
Arrow for Everyone•
Mesh Gradients in Jetpack Compose•
Why Not Compose! — коллекция анимаций, композиций и пользовательских интерфейсов•
Kompose Country Code Picker — выбор страны в Material 3
Кроссплатформа• Нюансы разработки PWA для Банка Санкт-Петербург от первого лица
• 7 вещей, которые больше всего волнуют аудиторов в модуле критических данных Flutter-приложения
• Такие разные Slivers. Часть 2: базовые классы и делегаты
•
Best Local Database for Flutter Apps: A Complete Guide•
Free Mobile App Security Testing for Flutter Developers•
How to Integrate Firebase Analytics on iOS with Kotlin Multiplatform•
An update on Dart macros & data serialization•
Multi-Module KMP: The Ultimate Guide to Resource Sharing•
3 BIG Flutter Interview Mistakes to Avoid (Before Your Next Interview!)•
ComposableMemes — мемы на Compose Multiplatform
Разработка• Слишком уж «Быстрый вход» в приложение Т-Банк на Android
• Программирование открытием
• Оптимизация 3D-текстурирования для мобильных игр при помощи градиентов
• CI для мобильной разработки или как мы используем fastlane
• Не вручную: почему стоит автоматизировать рутинные задачи для QA
• Самые высокооплачиваемые вакансии января в сфере разработки приложений
• Google поделился исходниками PebbleOS
• Проектирование и запуск разработки
• Как не уронить прод: Даниэль Халиулин про стабильный софт, качество и разработку
•
The «First AI Software Engineer» Is Bungling the Vast Majority of Tasks It’s Asked to Do•
Building a Secure Proximity-Based Login System with Bluetooth Low Energy•
How We Scaled Slack to Support 1000s of Developers•
My failed attempt to shrink all npm packages by 5%•
Writing better error messages for your apps•
Seven things I know after 25 years of development•
Dopamine addiction to coding•
Serving a billion web requests with boring code•
LLM Course – Build a Semantic Book Recommender (Python, OpenAI, LangChain, Gradio)
Аналитика, маркетинг и монетизация• Удаление приложений в App Uninstall Report 2025 от AppsFlyer
• Как вырастить ARR с $0 до $700 тыс: советы
• Bookshop.org бросает вызов Amazon с помощью новой платформы для электронных книг
• В новогодние праздники мобильные Action-игры стали самыми популярными у россиян
• Тренды маркетинга мобильных приложений в 2025 году
•
Casual Games Report 2024: Following the 5 Routes to Success•
What (free) graphics tool do you use to make your app icon?•
How We Used Psychology To Increase Positive Reviews
AI, Устройства, IoT• DeepSeek — новый ChatGPT, Qwen — новый DeepSeek? Проверяем модели в разработке, иллюстрациях и готовке
• Радарные датчики Logitech позволят компаниям следить за своими офисами
• Block выпустил ИИ-агента для разработки ПО Goose
• JetBrains запустила Junie — ИИ-агента для программирования
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.