В новой подборке поисковые подсказки на SwiftUI и сравнение Koin и Dagger, асинхронность в iOS и переживания Jetpack ViewModel, Tracer спустя год, пасьянс для забытой периферии, доходы и установки в России в 3 квартале и многое другое. Подключайтесь!
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Делаем поисковые подсказки в SwiftUI
• Используйте транзакции вместо сохранения в SwiftData и Core Data
• Асинхронность в iOS: как ускорить корпоративные приложения и не сломать мозг разработчика
• Как оптимизировали Яндекс Go для отображения 50+ заказов
• Кодогенерация в iOS-разработке
• Антимонопольный регулятор Бразилии снимает ограничения на IAP в Apple
• Финалисты App Store Award 2024
• Syntax Highlighting SwiftUI Code with Swift Syntax
• My experience of setting up Continuous Delivery with Xcode Cloud for a fresh project
• Stop Making Singletons in Swift: A Dependency Injection Guide
• Swift TOP 5 Mostly Used Protocols
• SwiftUI Zoom Navigation Transitions: Add a Touch of Magic to Your App
• Implementing search suggestions in SwiftUI
• Generating JWT Tokens in Swift for the App Store Connect API
• Mastering Sendable in Swift 6
• Building the Avatar View from Messages using SwiftUI
• Working with Natural Language framework
• Getting view size in SwiftUI without GeometryReader
• Testing requirements with #require in Swift Testing
• The power of previews in Xcode
• PreferenceKey in SwiftUI
• Interactive Navigation Gesture | SwiftUI
• Swift Testing with Test Plans and Floating Point Equality
• Building a Reading List App
• Create an Animated Mesh Gradient in SwiftUI
• SwiftfulFirestore — работа с Firestore в Swift Concurrency
• LazyPager for SwiftUI — просмотрщик изображений
Android
• Как я купил нерабочую подделку iPhone 14 Pro Max за «косарь» и портировал на неё чистый Android
• Сравнение Koin и Dagger Hilt в современной Android-разработке
• Полное руководство по написанию чистого кода Jetpack Compose
• Google готовит новые функции для работы с окнами на рабочем столе Android
• Тестируйте лучше, а не больше: новая документация по стратегиям тестирования
• Плагины — это просто
• Как Jetpack ViewModel переживает поворот экрана
• Let’s look at Bluesky performance on Android
• Random Musings on the Android 16 Developer Preview 1
• Google Maps in Jetpack Compose: Polylines
• Passing Parameters to the ViewModel, the Clean Way
• Scrcpy v3.0
• Custom modifiers in Jetpack Compose
• Exploring Kotlin Coroutines through Output Questions
• Deciding Between Flow and Suspend in Repositories: A Detailed Guide
• What’s new in Kotlin 2.1.0
• App incorrectly labeled as malware -> lost 30,000+ users
• Advanced ViewModel injection with DaggerHilt in Jetpack Compose
• Elevating Your Jetpack Compose UI with GraphicsLayer
• Top 5 Problems Google Leaves to Third-Party Vendors for Android Developers
• Clipping and masking | Jetpack Compose Tips
• Rules about performance tools — Android Developers Backstage
• How to Observe the REAL Internet Connectivity — Android Studio Kotlin Tutorial
• The Ultimate Gradle Kotlin Beginner’s Crash Course For 2025
• Material Photo Widget — виджет с фотографиями
• Constraints Explorer — отладка layout constraints
• Akkurate — выразительная валидация на Kotlin
Кроссплатформа
• Профилирование Flutter-приложений
• Понимание PWA: выбираем между Flutter и Web, и что ожидают заказчики
• Achieving Type-safe Navigation Results in AndroidX Compose for KMP
• How to create a scrollable chart in Compose Multiplatform
• This is my approach to state management in Flutter
• Why everyone is talking about state management?
• Develop Your Own Crashlytics Library Using Kotlin Multiplatform
• Flutter Riverpod 2.0: Modern State Management and Code Generation
• Let’s Build a Game with Jetpack Compose! (Kotlin Multiplatform)
Разработка
• Tracer спустя год: новые фичи и возможности инструмента для аналитики ошибок в мобильных приложениях
• Легаси шмегаси
• Создаём пасьянс для забытой периферии Nintendo
• Кросс-платформенное тестирование мобильных приложений: особенности, инструменты и решения
• Всё о новых штрафах за утечки данных. Сколько светит и как защитить своё приложение
• BDUI — это спасение от релизов: «Какие ваши доказательства?»
• Упс, что-то пошло не так. Как UX-редактору написать сообщение об ошибке?
• Дизайн-ревью Яндекс Музыки. Тестировщик сравнивает дизайн макета с тестовой сборкой
• Ускорение разработки продуктов с помощью горизонтальных решений
• Перестаньте использовать Copilot. Вред ИИ для разработчиков
• Топ-5 страхов и проблем ИТ-индустрии — монополизация, ИИ, сокращения, выгорания
• Улучшает ли GitHub Copilot качество кода?
• Google Developer Program становится платной
• Huawei хочет 100,000 приложений для HarmonyOS в течение года
• Demystifying Maestro’s UI Testing Implementation
• No GPS required: our app can now locate underground trains
• Top 10 Rules of Continuous Integration
• Vector Databases Explained Simply
• Lights Out: Tools for controlling webcam LED on ThinkPad X230
• Event-Driven Architecture Course – NextJS, Clerk, Webhooks
Аналитика, маркетинг и монетизация
• Доходы и установки в России в 3 квартале 2024 года
• Google пытается отменить антимонопольную победу Epic
• Appcharge получает $26 млн на продажу игровой валюты
• Самые скачиваемые и зарабатывающие приложения в мире в октябре 2024
• Геймифицируй это! Или игровые механики в неигровых продуктах
• How to catch the Golden Geese of mobile in 2025
AI, Устройства, IoT
• Контроль микроклимата в серверной почти на коленке
• Делаю умный дом в бетонной коробке, где (пока) нет даже раковины: начинаю с умных розеток
• Raspberry Pi запускает Compute Module 5 для встраиваемых приложений
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Делаем поисковые подсказки в SwiftUI
• Используйте транзакции вместо сохранения в SwiftData и Core Data
• Асинхронность в iOS: как ускорить корпоративные приложения и не сломать мозг разработчика
• Как оптимизировали Яндекс Go для отображения 50+ заказов
• Кодогенерация в iOS-разработке
• Антимонопольный регулятор Бразилии снимает ограничения на IAP в Apple
• Финалисты App Store Award 2024
• Syntax Highlighting SwiftUI Code with Swift Syntax
• My experience of setting up Continuous Delivery with Xcode Cloud for a fresh project
• Stop Making Singletons in Swift: A Dependency Injection Guide
• Swift TOP 5 Mostly Used Protocols
• SwiftUI Zoom Navigation Transitions: Add a Touch of Magic to Your App
• Implementing search suggestions in SwiftUI
• Generating JWT Tokens in Swift for the App Store Connect API
• Mastering Sendable in Swift 6
• Building the Avatar View from Messages using SwiftUI
• Working with Natural Language framework
• Getting view size in SwiftUI without GeometryReader
• Testing requirements with #require in Swift Testing
• The power of previews in Xcode
• PreferenceKey in SwiftUI
• Interactive Navigation Gesture | SwiftUI
• Swift Testing with Test Plans and Floating Point Equality
• Building a Reading List App
• Create an Animated Mesh Gradient in SwiftUI
• SwiftfulFirestore — работа с Firestore в Swift Concurrency
• LazyPager for SwiftUI — просмотрщик изображений
Android
• Как я купил нерабочую подделку iPhone 14 Pro Max за «косарь» и портировал на неё чистый Android
• Сравнение Koin и Dagger Hilt в современной Android-разработке
• Полное руководство по написанию чистого кода Jetpack Compose
• Google готовит новые функции для работы с окнами на рабочем столе Android
• Тестируйте лучше, а не больше: новая документация по стратегиям тестирования
• Плагины — это просто
• Как Jetpack ViewModel переживает поворот экрана
• Let’s look at Bluesky performance on Android
• Random Musings on the Android 16 Developer Preview 1
• Google Maps in Jetpack Compose: Polylines
• Passing Parameters to the ViewModel, the Clean Way
• Scrcpy v3.0
• Custom modifiers in Jetpack Compose
• Exploring Kotlin Coroutines through Output Questions
• Deciding Between Flow and Suspend in Repositories: A Detailed Guide
• What’s new in Kotlin 2.1.0
• App incorrectly labeled as malware -> lost 30,000+ users
• Advanced ViewModel injection with DaggerHilt in Jetpack Compose
• Elevating Your Jetpack Compose UI with GraphicsLayer
• Top 5 Problems Google Leaves to Third-Party Vendors for Android Developers
• Clipping and masking | Jetpack Compose Tips
• Rules about performance tools — Android Developers Backstage
• How to Observe the REAL Internet Connectivity — Android Studio Kotlin Tutorial
• The Ultimate Gradle Kotlin Beginner’s Crash Course For 2025
• Material Photo Widget — виджет с фотографиями
• Constraints Explorer — отладка layout constraints
• Akkurate — выразительная валидация на Kotlin
Кроссплатформа
• Профилирование Flutter-приложений
• Понимание PWA: выбираем между Flutter и Web, и что ожидают заказчики
• Achieving Type-safe Navigation Results in AndroidX Compose for KMP
• How to create a scrollable chart in Compose Multiplatform
• This is my approach to state management in Flutter
• Why everyone is talking about state management?
• Develop Your Own Crashlytics Library Using Kotlin Multiplatform
• Flutter Riverpod 2.0: Modern State Management and Code Generation
• Let’s Build a Game with Jetpack Compose! (Kotlin Multiplatform)
Разработка
• Tracer спустя год: новые фичи и возможности инструмента для аналитики ошибок в мобильных приложениях
• Легаси шмегаси
• Создаём пасьянс для забытой периферии Nintendo
• Кросс-платформенное тестирование мобильных приложений: особенности, инструменты и решения
• Всё о новых штрафах за утечки данных. Сколько светит и как защитить своё приложение
• BDUI — это спасение от релизов: «Какие ваши доказательства?»
• Упс, что-то пошло не так. Как UX-редактору написать сообщение об ошибке?
• Дизайн-ревью Яндекс Музыки. Тестировщик сравнивает дизайн макета с тестовой сборкой
• Ускорение разработки продуктов с помощью горизонтальных решений
• Перестаньте использовать Copilot. Вред ИИ для разработчиков
• Топ-5 страхов и проблем ИТ-индустрии — монополизация, ИИ, сокращения, выгорания
• Улучшает ли GitHub Copilot качество кода?
• Google Developer Program становится платной
• Huawei хочет 100,000 приложений для HarmonyOS в течение года
• Demystifying Maestro’s UI Testing Implementation
• No GPS required: our app can now locate underground trains
• Top 10 Rules of Continuous Integration
• Vector Databases Explained Simply
• Lights Out: Tools for controlling webcam LED on ThinkPad X230
• Event-Driven Architecture Course – NextJS, Clerk, Webhooks
Аналитика, маркетинг и монетизация
• Доходы и установки в России в 3 квартале 2024 года
• Google пытается отменить антимонопольную победу Epic
• Appcharge получает $26 млн на продажу игровой валюты
• Самые скачиваемые и зарабатывающие приложения в мире в октябре 2024
• Геймифицируй это! Или игровые механики в неигровых продуктах
• How to catch the Golden Geese of mobile in 2025
AI, Устройства, IoT
• Контроль микроклимата в серверной почти на коленке
• Делаю умный дом в бетонной коробке, где (пока) нет даже раковины: начинаю с умных розеток
• Raspberry Pi запускает Compute Module 5 для встраиваемых приложений
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.