Сегодня в Clubhouse вместе с Денисом Неклюдовым, Никитой Колмогоровым и командой Подлодки обсуждаем откуда брать идеи для пет-проектов и как доводить их до конца. Подключайтесь!
https://joinclubhouse.com/event/PvjWjz86
https://joinclubhouse.com/event/PvjWjz86
Подробный разбор внутреннего устройства корутин на JVM. Бонусом рассматриваются распространенные ошибки при разработке многопоточных систем.
https://medium.com/androiddevelopers/bridging-the-gap-between-coroutines-jvm-threads-and-concurrency-problems-864e563bd7c
https://medium.com/androiddevelopers/bridging-the-gap-between-coroutines-jvm-threads-and-concurrency-problems-864e563bd7c
Medium
Bridging the gap between coroutines, threads, and concurrency problems
Learn about how coroutines are actually executed in the JVM, how they relate to threads, and the concurrency issues that you can face.
В альфу вышел инструмент Kotlin Symbol Processing (KSP), который позволит создавать легковесные плагины для компилятора. Ожидается, что KSP придет на замену KAPT, который уже сейчас в 2 раза проигрывает в скорости работы.
https://android-developers.googleblog.com/2021/02/announcing-kotlin-symbol-processing-ksp.html
https://android-developers.googleblog.com/2021/02/announcing-kotlin-symbol-processing-ksp.html
Android Developers Blog
Announcing Kotlin Symbol Processing (KSP) Alpha
News and insights on the Android platform, developer tools, and events.
Google выпустила официальный чеклист для оценки качества приложений. На данный момент в него вошли следующие разделы: UX, функциональность, производительность и стабильность, безопасность и Google Play.
https://developer.android.com/quality
https://developer.android.com/quality
Android Developers
Quality | App quality | Android Developers
Plan to create quality apps and features from the start by understanding best practices and requirements.
AirBnb обновила свой MVI фреймворк Mavericks (бывший MvRx) до версии 2.0. Из новинок, помимо названия: корутины под капотом, более удобное тестирование и совместимость с Compose.
https://gpeal.medium.com/introducing-mavericks-mvrx-2-0-57d430a94070
https://gpeal.medium.com/introducing-mavericks-mvrx-2-0-57d430a94070
Medium
Introducing Mavericks (MvRx) 2.0
Mavericks 2.0 is a ground-up (but fully backward compatible) rewrite of MvRx built for coroutines and the next generation of Android apps.
Разработчики из Dropbox делятся тем, как им удалось ускорить старт приложения на 30%. Если кратко, то основными причинами были: библиотека Firebase Performance, медленные миграции и загрузка данных.
https://dropbox.tech/mobile/how-we-sped-up-dropbox-android-app-startup-by-30-
https://dropbox.tech/mobile/how-we-sped-up-dropbox-android-app-startup-by-30-
dropbox.tech
How we sped up Dropbox Android app startup by 30%
Разбираемся как эффективно использовать аннотацию Deprecated: настраиваем автозамену и реакцию компилятора на устаревший код.
https://todd.ginsberg.com/post/kotlin/deprecation/
https://todd.ginsberg.com/post/kotlin/deprecation/
Todd Ginsberg
Enhanced Deprecation in Kotlin • Todd Ginsberg
Kotlin has rethought the deprecation lifecycle and provided tools to make it seamless
Полный гайд о том, как готовить кроссплатформенное приложение на Kotlin Multiplatform.
https://www.raywenderlich.com/19144111-kotlin-multiplatform-project-for-android-and-ios-getting-started
https://www.raywenderlich.com/19144111-kotlin-multiplatform-project-for-android-and-ios-getting-started
kodeco.com
Kotlin Multiplatform Project for Android and iOS: Getting Started
In this tutorial, you’ll learn how to use Kotlin Multiplatform and build an app for Android and iOS with the same business logic code.
Серия статей про межпроцессное взаимодействие в Android. Разбираются подходы через AIDL, Messenger и Broadcast, а также что в каком случае использовать.
https://proandroiddev.com/ipc-techniques-for-android-45d815ac59be
https://proandroiddev.com/ipc-techniques-for-android-45d815ac59be
Medium
Android IPC Mechanisms
IPC is a general concept that means inter-process communication.
Автоматизируем рутинные задачи Android разработки: обновление зависимостей, загрузка сборок в Google Play, форматирование кода и оптимизация импортов.
https://medium.com/mobile-app-development-publication/3-things-ive-stop-doing-manually-as-an-android-developer-c783c726181f
https://medium.com/mobile-app-development-publication/3-things-ive-stop-doing-manually-as-an-android-developer-c783c726181f
Medium
3 Things I’ve Stop Doing Manually As An Android Developer
Automation took over my mundane Android Developer Work
Подборка полезных Github Actions для Android разработки: собираем сборки, тестируем и формируем релизы.
https://medium.com/google-developer-experts/github-actions-for-android-developers-6b54c8a32f55
https://medium.com/google-developer-experts/github-actions-for-android-developers-6b54c8a32f55
Medium
GitHub Actions for Android developers
If you are developing Android apps, chances are you have confronted any sort of CI at some point in your career. If you thought Android…
В Android Studio Arctic Fox появится возможность использовать StateFlow вместо LiveData в связке с DataBinding.
https://proandroiddev.com/stateflow-with-one-and-twoway-databinding-on-android-cf4e6c847988
https://proandroiddev.com/stateflow-with-one-and-twoway-databinding-on-android-cf4e6c847988
Medium
StateFlow with One- and TwoWay-DataBinding on Android
There has been a lot of talk in the Android community related to LiveData being deprecated in favor of StateFlow. This doesn’t seem to be…
Стала доступна первая preview версия Android 12. Из основных нововведений: улучшение безопасности и приватности, поддержка новых форматов медиа данных, обновления системных компонентов через Google Play, ускорение IPC операций и новые ограничения.
https://android-developers.googleblog.com/2021/02/android-12-dp1.html
https://android-developers.googleblog.com/2021/02/android-12-dp1.html
Android Developers Blog
First preview of Android 12
Posted by Dave Burke, VP of Engineering Every day, Android apps help billions of people work, play, communicate, and create on a wi...
По умолчанию для каждой таблицы в SQLite создается дополнительное поле rowid с уникальным номером записи в таблице. С помощью специальной директивы можно отменить создание этого поля и уменьшить количество занимаемой памяти, а также ускорить операции поиска по таблице.
https://medium.com/swlh/faster-sqlite-lookup-using-without-rowid-optimization-118c89d31b1e
https://medium.com/swlh/faster-sqlite-lookup-using-without-rowid-optimization-118c89d31b1e
Medium
Faster SQLite Lookup Using Without Rowid Optimization
A WITHOUT ROWID table can use about half the amount of disk space and can operate nearly twice as fast compared to an ordinary rowid table.
С Android 12 для всех компонентов в манифесте, у которых присутствует intent-filter, необходимо будет явно прописывать поле exported, иначе приложение просто не установится.
https://medium.com/androiddevelopers/lets-be-explicit-about-our-intent-filters-c5dbe2dbdce0
https://medium.com/androiddevelopers/lets-be-explicit-about-our-intent-filters-c5dbe2dbdce0
Medium
Let’s be explicit about our intent(-filters)
An important change is coming to Android 12 that improves both app and platform security. This change affects all apps that target Android…
Глубокий разбор работы цепочек операторов в RxJava простым языком.
https://proandroiddev.com/how-rxjava-chain-actually-works-2800692f7e13
https://proandroiddev.com/how-rxjava-chain-actually-works-2800692f7e13
Medium
How RxJava chain actually works
RxJava was created quite a while ago, but it is still widely used in large Android projects as the main tool for managing streams and…
Обычно на битмапы приходится довольно большой кусок оперативки, используемый приложением. Разбираемся как измерять и оптимизировать битмапы с Glide и Picasso.
https://proandroiddev.com/measure-and-optimize-bitmap-size-using-glide-or-picasso-3273b4a569cd
https://proandroiddev.com/measure-and-optimize-bitmap-size-using-glide-or-picasso-3273b4a569cd
Medium
Measure and optimize bitmap size using Glide or Picasso
In this post I’ll show you how to measure the size of the bitmaps that are stored in the memory and how to make them smaller.
Чеклист моментов, на которые стоит обратить внимание при написании библиотек: видимость классов и ресурсов, взаимодействие Kotlin и Java, транзитивные зависимости.
https://medium.com/google-developer-experts/considerations-when-creating-android-libraries-c80940d79ae
https://medium.com/google-developer-experts/considerations-when-creating-android-libraries-c80940d79ae
Medium
Considerations when creating Android libraries
If you are an Android developer, chances are you might have been working on your own Android libraries. A library is a useful way to…
Реализуем ассинхронный рендеринг текста с PrecomputedText.
https://proandroiddev.com/async-text-loading-in-android-with-precomputedtext-93aa131b0e5b
https://proandroiddev.com/async-text-loading-in-android-with-precomputedtext-93aa131b0e5b
Medium
Async Text Loading in Android with PrecomputedText
The TextView is one of the most common Views used across all the Android apps. It has very simple API to show the text on the screen. Not…
Https протокол является стандартом индустрии, однако его использование не всегда гарантирует полную безопасность. Например пользователь может установить ненадежный SSL сертификат и стать жертвой MITM атаки. Избежать подобных ситуаций позволит SSL Pinning.
https://medium.com/native-mobile-bits/ssl-pinning-and-vulnerabilities-handling-in-android-57e347feb39b
https://medium.com/native-mobile-bits/ssl-pinning-and-vulnerabilities-handling-in-android-57e347feb39b
Medium
SSL Pinning and Vulnerabilities Handling in Android.
As Android developer, our apps feel like our babies to us and obviously, we need to protect our apps layer by layer or as much as we can…