А также: TensorFlow Lite, Google I/O, изменения в Android Q, Android Compilers, мультиплатформенная разработка, классические паттерны, новые стили, распознавание жестов и еще много интересного!
Новости и аналитика
Google Blog: 100 things we announced at I/O ‘19.
Android Q Beta 4 and Final APIs. Behavior changesвынесены в отдельный документ.
Проверьте работу вашего приложения с Android Q: privacy checklist. New location permissions, restrictions on background activity starts, changes to data and identifiers.
Introducing a new Google Play app and game icon specification. Принудительная конвертация старых иконок с 24 июня.
What’s New with Android Jetpack and Jetpack Compose. 11 новых библиотек, включая написание декларативного UI.
Announcing Flutter 1.5. И совершенно внезапно Flutter приходит на Web.
Google is working on new gestures that require an „Aware” sensor, possibly for the Pixel 4.
Kotlin
Cold flows, hot channels by Roman Elizarov. Различия между hot channels и cold flows, а так же новый Kotlin Flow concept.
Kotlin Pearls: Multiple Inheritance by Uberto Barbini. Examples to extend your knowledge of Kotlin’s `by` keyword and how you can use it for interface implementation delegation.
Railway Oriented Programming in Kotlin by Antony Harfield. Pattern used to save you from the deeply nested programming.
The Kotlin Guide for the Busy Java Developer by Renaud Cerrato. Focusing on new idioms, favoring commented snippets over long explanations.
Eliminating Coroutine leaks in tests by Rick Busarow. Writing tests for coroutines can create leaks which live on past the lifecycle of an individual test.
A Short History of Android and Reactive Programming: Coroutines Edition by GDE Ash Davies.
Trending patterns and Frameworks
Moving to the Dark Side: Dark Theme Recap by Yaroslav Berezanskyi. Android Q brings a new Dark theme that applies to both the Android system UI and apps running on the device.
Today, Google seems to finally give us a pretty clear direction of how we should start to design our Android apps. In a few words: multi-modules & MVVM, by Philippe Boisney.
Android CameraX: Preview, Analyze, Capture by Husayn Hakeem. Three different handlers, lifecycle binding and further links to extend your knowledge around new CameraX API.
Inspecting TensorFlow Lite image classification model by Mirek Stanek. Discussing the case when you already have the TF model deployed to your app.
The Storage Access Framework: Counterpoints by Mark Murphy. New way of dealing with app storage, aka ‘iOS style’.
Exploring in-app updates on Android by GDE Joe Birch. The Play Core library allows us to show that an app update is available whilst the user is within the context of our application.
Почитать/посмотреть/попробовать
Bohemian Wrapsody by GDE Dmytro Danylyk. Wrapping third-party library may take some time, but it makes your system more flexible to changes and loosely coupled.
Replace ProgressDialog with a progress button in your app by Anton Hadutski. Your app can show non-blocking progress as per latest Material Design Guidelines.
Playing with Material Design Transitions by Philippe Boisney. Transitions, shared elements and animated vector drawables.
Android CPU, Compilers, D8 & R8 by GDE Yonatan V. Levin. Deep dive into compilation strategies, and benefits you can get from R8.
Android debug tools by Ihor Kucherenko. Featuring Android Profiler , Facebook Stetho, DebugDrawer and AppSpector .
Android Developer Roadmap 2019: Shows developers a path of what to learn in 2019.
Полезные инструменты и библиотеки
StfalconFixturer: Utility for developers and QAs what helps minimize time wasting on writing the same data for testing over and over again.
Bundletool: Verify non-Google Play app installs tool, developed by Google.
Reaktive: Kotlin multi-platform implementation of Reactive Extensions.
Объявление :)
Ищу профессионалов, которые помогут развивать дайджест для Android-разработчиков на DOU. Интересно? Пишите в ЛС или комментариях!
Какие темы/материалы/ивенты стоит добавить в дайджест — пишите в комментариях, твиттер @sergiizhukили воспользуйтесь специальной формой.
← Предыдущий выпуск: Android дайджест #33