В новом дайджесте рассказываем о том, как 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 — ИИ-агента для программирования

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