В новом дайджесте обсуждаем костыли поддержки iOS 15 на SwiftUI и корутины Kotlin, приложения на Go и шаблон на все случаи жизни, 30 уроков от 30 лучших продуктовых лидеров, мест Snap в виде исчезающих фотографий в iMessage, переделку одного устройства и многое другое. Подключайтесь!



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

iOS

• Костыли, костыли и ещё раз костыли. Или поддержка iOS 15 на SwiftUI
• Кодогенерация: кому нужна и как настроить
• SwiftUI: алхимия приложений — превращаем идеив реальность
• Тактики ускорения билда: матиз, кобальт, камри 3.5
• SwiftUI: Custom TabBar + animation
• Малоизвестные представления SwiftUI
• Множественное число в текстовых представлениях SwiftUI с помощью склонения
• Используем диалог подтверждения в SwiftUI
• Приложения без статуса трейдера будут удаляться из App Store в ЕС
Adopting Swift 6 across the app codebase
Accessibility That Fits
Handle plurals in SwiftUI Text views with inflection
Swift 6: Typed Throws
Using Copilot to write a raindrop audio synthesizer using AVAudioEngine
Legacy Code Rescue: Taming a Thousand-Line View Controller
How to use cryptographic hash functions in CryptoKit for iOS security
Creating a Network Manager in SwiftUI with Clean Code Principles
Using Approval Tests to Bring Legacy Code Under Test
Exploring Tab View Styles in SwiftUI
SwiftUI Lists: Present rows of data explained with code examples
Bringing App Intents to Your SwiftUI App
Swift 6.0 Actors: Goodbye Race Conditions!
SwiftUI: Zipping Files
Managing Singletons in Memory in Swift
I’ve been doing this since 2009 and Apple has officially exhausted me
Design an Analytics Manager in iOS
How to organize TabView in SwiftUI using Composable Architecture
Apple Engineer Shows How To Build a SwiftUI Step Counter
Complete Document Scanner App
Working with C and C++ in Apple environment
sRouting — навигационный фреймворк для SwiftUI
Blueprint — декларативный UI-конструктор

Android

Go в GUI, я создал
• Распространенные ошибки в шаблоне UseCase для Android
• Kotlin Coroutines под капотом: отмена корутин
• Корутины в Kotlin: делаем «Optimised Out» переменные видимыми
• Примеры использования File Templates для типовых сценариев, где требуется шаблонный код + Экспорт и импорт File Templates в IDE от Intellij
Управление настройками с помощью Jetpack DataStore: Простой подход к сохранению данных разных типов
• Переезжаем с фрагментов на (De)compose
• Как устроена разработка в Яндекс.Клавиатуре
• Android + AI. Решаем задачи с умом
• В чем отличие между job и supervisor job — вопросы с собеседований
• Android Automotive получит больше приложений
How modifiers order affects Compose UI appearance
FilterChip Dropdown selector in Jetpack Compose
Top 3 Most Common Animations You Can Use in Your Jetpack Compose Project
Android Dynamic Animated SVGs (with Lottie Dynamic Properties)
5 steps to use Paging3 library with Jetpack Compose
How We Reduced the WINK+ Android App to Less Than 10MB
Reverse-Engineering the Compose Compiler Plugin: Intercepting the Frontend
DiffUtils, Myers’ Algorithm and Jetpack Compose
Getting Started with CameraX in Jetpack Compose
Exploring ViewModel Internals
From Junior to Senior: Evolving UseCases and ViewModel in Android Clean Architecture
Integrating Google ML Kit for Barcode Scanning in Jetpack Compose Android Apps
Handling One-Time Events in Jetpack Compose: Channels vs. SharedFlow
Tap to focus: Mastering CameraX Transformations in Jetpack Compose
Function, KFunction, KCallable, and all those other function types in Kotlin
5 Things You MUST Do Before Deploying Your App to Google Play (or you’ll regret it)
The Beginner to Industry-Ready Roadmap For Android & KMP Development In 2025
We fixed an inconsistency in Kotlin (non-local break & continue)
What are all of those Kotlin function types for?
MMKV — эффективное key-valu хранилище от Tencent
ViTune — музыкальный плеер для Android
Aspecto — идеальная сетка для Jetpack Compos/Multiplatform

Кроссплатформа

• CodeStyle на Flutter-проектах: базовые принципы и правила — шаблон на все случаи жизни
• Дружим RabbitMQ и Flutter/Dart
• Альтернатива Firebase Dynamic Links на KMP
Mastering Scrollable in Flutter
How to Release Your Flutter App on the Google Play Store
Mastering Flutter Testing: Integration Tests
Logging In Compose Multiplatform
Introducing Mirai — A Server Driven UI framework for Flutter
MVVM: Officially Recommended by Google for Flutter Development
10 Flutter Widgets Probably Haven’t Heard Of (But Should Be Using!)
Flutter Live Activity: From Development to Testing

Разработка

• Как iPhone заставил UX и интерфейс в авто меняться и почему концерны до сих пор не могут оправиться от этого?
• 30 уроков от 30 лучших продуктовых лидеров
Как начать тестировать подписки в Google Play и App Store
• Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов
• Основы DevEx: ищем, куда исчезает время программистов
• Заменяем облака домашним сервером — Selfhosting, homelab
• 20% вакансий в Интернете на самом деле существует
• Генеральный директор Sonos Патрик Спенс покидает свой пост после неудачного запуска приложения
How to Choose the Right Database in a System Design Interview
How to build an AI side project using AI in 2025
Boosting Performance in a Diagramming App with Quadtrees and Binary Search on Path
Test-Driven Development with an LLM for Fun and Profit
The documentation problem in development

Аналитика, маркетинг и монетизация

• Маркетологи в мобайле: Иван Останков (Островок)
• Создатель Gas и tbh сделал приложение для исчезающих фотографий в iMessage
• JOY Ads: UGC как система
• Pixelfed — децентрализованная альтернатива Нельзяграм
• Приложения для здорового питания в России 2024
• Самые скачиваемые и зарабатывающие приложения в мире в декабре 2024
• Рынок корпоративных мобильных приложений России. История, участники, тренды
• Gamelight превысила цели по D30 ROAS на 246% для Sunshine Island от Stillfront Group
• В преддверии бана TikTok, количество изучающих китайский в Duolingo выросло на 216%
The price of your product is wrong

AI, Устройства, IoT

• Небольшая переделка одного устройства
• Двухкомнатная квартира в новостройке: как сделать ее и красивой, и умной?
• Практическое обучение с подкреплением: от забав с MuJoCo'м до битв на арене

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

Комментарии (0)