Продолжаю эксперимент с рубрикой дайджестов на Хабре. На этот раз, собрал наиболее полезные и популярные материалы для мобильщиков за 2 недели.
Android ????
• Знакомьтесь: библиотека TiRecycler
• Custom Canvas Animations in Jetpack Compose
• Special Google I/O 2022 Edition
• Scan code without camera permissions
• Do you use Kotlin’s most powerful tool?
• VK при поддержке Минцифры запустила бета-версию российского магазина приложений
• Многомодульный BDSM: стоит ли внедрять Gradle модули и какие типы модулей бывают?
• Some Best Practices for Android App Architecture
• 15 Best Android Libraries for 2022
• Strategies for managing Gradle dependencies
• Запросы в сеть с Clean Architecture и MVVM. Boilerplate ч. 2
• Как и зачем собирать Android приложение в docker контейнере
• Как работает UI в Android. Не все так сложно
• Chrome на Android сломал чужие MitM-сертификаты, но это можно исправить
• Toying with Kotlin's context receivers
• Deep dive into Android ANR | OkCredit
• Take Part in the New UI Preview for Your JetBrains IDE
• A cleaner way to interact between Composable and ViewModel in Jetpack Compose
• Speeding up Kotlin Multiplatform
• Jetpack Compose Clean Architecture with Rorty App
• 5 Awesome Jetpack Compose Custom Progress Indicator Designs
• Detect Swipe Direction on Jetpack Compose to trigger BottomSheetScaffold
• Spot your UI jank using CPU profiler in Android Studio
• Как рефакторинг помогает улучшить производительность разработчиков и повысить качество приложений
• Using MotionLayout in Compose
• SOLID – это не правила, а гайдлайны
• Measure and improve performance with Macrobenchmark
• The Suspend & Inline Mystery | Kotlin Tips 2022 - YouTube
• Full Guide to Testing Android Applications in 2022
• Compose Navigation in 3 Minutes
• Jetpack Compose under the hood: Touch Events
iOS ????
• С 30 июня Apple не пустит в AppStore приложения без возможности удаления аккаунта
• Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
• Золотые правила “weak self”
• Debugging Network Traffic With Proxyman
• A deep dive into Swift reference counting
• Memory leaks prevention using an autoreleasepool in unit tests
• Map on collections in Swift
• Calling Private APIs in iOS
• Scripting in Swift: Git Hooks
• Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager
• Markdown rendering using Text in SwiftUI - SwiftLee
• Vision Framework Tutorial for iOS: Contour Detection
• Core Data Saving Changes
• Mastering TimelineView in SwiftUI
• The power of accessibilityChildren view modifier in SwiftUI
• Closures in Swift explained
• 100 SwiftUI Recipes
• Design a Beautiful Loading Screen for Your iOS App
• How To Boost Your iOS Code Performance by Reducing Collection Type Initialisation
• 16 Useful Extensions for SwiftUI
• Design Patterns implemented in Swift
Кроссплатформа / Разработка ????
• Нелегкий путь к динамическому анализу мобильных приложений
• Flutter 3: что нового (перевод)
• Dart 2.17: Продуктивность и интеграция
• KMP, iOS Developers and Production
• Kotlin — Lazy Thread-safety modes explained
• Как на Flutter-проекте реализовать разделение Google-сервисов и Huawei-сервисов
• Тестирование Flutter-приложений: гайд по разработке тестов на Flutter
• 11 вещей, о которых вы должны помнить перед стартом нового проекта на Flutter
• Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter
• Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
• Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями
Ну и по традиции присоединяйтесь в мой тг-канал Mobile Native, в котором публикации выходят каждый день.