#Jetpack #AndroidStudio
What’s your MAD score?
Google выпустила плагин для Android Studio, чтобы оценить насколько активно вы используете технологии современной Android разработки
Вы сможете создать карточку с оценкой вашего проекта и поделиться ею с друзьями. Инструкция здесь
What’s your MAD score?
Google выпустила плагин для Android Studio, чтобы оценить насколько активно вы используете технологии современной Android разработки
Вы сможете создать карточку с оценкой вашего проекта и поделиться ею с друзьями. Инструкция здесь
#Compose
Jetpack Compose — Before and after
Все мы ждем релиза Jetpack Compose, чтобы насладиться декларативным UI по полной. Приложение Tivi уже мигрировало на Jetpack Compose. По итогу:
👉 Уменьшения размера приложения на 41%
👉 Уменьшение количества методов на 17%
👉 Количества кода в XML уменьшилось на 76%
👉 Время сборки проекта осталось примерно таким же
Надо учесть что все замеры проводились на альфа-версии Compose и к релизу цифры могут поменяться.
Jetpack Compose — Before and after
Все мы ждем релиза Jetpack Compose, чтобы насладиться декларативным UI по полной. Приложение Tivi уже мигрировало на Jetpack Compose. По итогу:
👉 Уменьшения размера приложения на 41%
👉 Уменьшение количества методов на 17%
👉 Количества кода в XML уменьшилось на 76%
👉 Время сборки проекта осталось примерно таким же
Надо учесть что все замеры проводились на альфа-версии Compose и к релизу цифры могут поменяться.
This media is not supported in your browser
VIEW IN TELEGRAM
Сравнение приложения до Compose и после
#Android11
Treble Plus One Equals Four
Усилия Google по упрощению выпуска обновлений для устройства начинают окупаться. Android 11 стал само быстро распространяемой версией Android, а все новые SoC Qualcomm будут получать обновления для 4 версий ОС и 4 года обновлений безопасности.
В статье вы найдете подробности того, что сделали для ускорения обновления в рамках
Treble Plus One Equals Four
Усилия Google по упрощению выпуска обновлений для устройства начинают окупаться. Android 11 стал само быстро распространяемой версией Android, а все новые SoC Qualcomm будут получать обновления для 4 версий ОС и 4 года обновлений безопасности.
В статье вы найдете подробности того, что сделали для ускорения обновления в рамках
Project Treble#GooglePlay #AndroidAuto
Opening the Google Play Store for more car apps
2 месяца назад Google открыла доступ доступ к библиотеке для разработки приложений для Android Auto. Теперь можно публиковать приложения в закрытые треки Google Play.
Opening the Google Play Store for more car apps
2 месяца назад Google открыла доступ доступ к библиотеке для разработки приложений для Android Auto. Теперь можно публиковать приложения в закрытые треки Google Play.
#Jetpack #AppStartup
App Startup, Part 2
Продолжение серии статей про новую библиотеку App Startup. В новой части рассказывается про то как мигрировать инициализацию
App Startup, Part 2
Продолжение серии статей про новую библиотеку App Startup. В новой части рассказывается про то как мигрировать инициализацию
WorkManager на App Startup, а также как отложить инициализацию (lazy). Все это подкрепляется оценкой производительности разных подходов.#Kotlin #Jetpack #MAD
Using KTX libraries
Kotlin - основной язык для разработки под Android, но всё Android SDK написано на Java. Чтобы сделать удобной опыт использования Kotlin в Android максимальным разработчики из Google сделали 2 вещи:
👉 Добавляют аннотации о nullability в Java код
👉 Новые библиотеки Jetpack стараются писать на Kotlin
👉 Для существующих библиотек пишутся Kotlin расширения - KTX
В статье вы найдете больше информации о KTX расширениях, которые помогут вам сократить количество Kotlin кода в Android проекте.
Using KTX libraries
Kotlin - основной язык для разработки под Android, но всё Android SDK написано на Java. Чтобы сделать удобной опыт использования Kotlin в Android максимальным разработчики из Google сделали 2 вещи:
👉 Добавляют аннотации о nullability в Java код
👉 Новые библиотеки Jetpack стараются писать на Kotlin
👉 Для существующих библиотек пишутся Kotlin расширения - KTX
В статье вы найдете больше информации о KTX расширениях, которые помогут вам сократить количество Kotlin кода в Android проекте.
#Security #Jetpack
Обновление документации "Permissions"
Документация по Permissions была обновлена на официальном сайте Android Developers. Теперь она содержит подробные описания:
👉 как правильно запрашивать разрешения в Runtime
👉 как работать если пользователь отказал в получении разрешения
👉 какие подходы использовать, чтобы объяснить, зачем вашему приложению вообще нужно какое-то разрешение
👉 Новый способ получения разрешение через новое ActivityResult API из androidx.activity 1.2.0
👉Разрешения для приложений по умолчанию (звонилка, браузер, лаунчер и др.)
👉Объявление собственных разрешений
👉Лучшие практики по работе с разрешениями
Обновление документации "Permissions"
Документация по Permissions была обновлена на официальном сайте Android Developers. Теперь она содержит подробные описания:
👉 как правильно запрашивать разрешения в Runtime
👉 как работать если пользователь отказал в получении разрешения
👉 какие подходы использовать, чтобы объяснить, зачем вашему приложению вообще нужно какое-то разрешение
👉 Новый способ получения разрешение через новое ActivityResult API из androidx.activity 1.2.0
👉Разрешения для приложений по умолчанию (звонилка, браузер, лаунчер и др.)
👉Объявление собственных разрешений
👉Лучшие практики по работе с разрешениями
#Testing
Быстрый старт: гайд по автоматизированному тестированию для Android-разработчика. JVM
Получить хорошее руководство по погружению в автоматизированное тестирование - это непросто. Google в своих гайдах задевает только тему специфики под Android, не рассказывая о базисах.
В статье (она немаленькая) раскладывается все по полочкам: базисы и особенности тестирование под Android. Вы сможете понять основные понятия и как тесты реализуются при разработки в Android
Быстрый старт: гайд по автоматизированному тестированию для Android-разработчика. JVM
Получить хорошее руководство по погружению в автоматизированное тестирование - это непросто. Google в своих гайдах задевает только тему специфики под Android, не рассказывая о базисах.
В статье (она немаленькая) раскладывается все по полочкам: базисы и особенности тестирование под Android. Вы сможете понять основные понятия и как тесты реализуются при разработки в Android
👍1
#Security #ProGuard #R8
Оптимизация сборок Android приложений: ProGuard, D8, R8. Тайны обфускации
Оптимизация и обфускация кода, который уходит в Production, - очень важный этап поставки клиентских приложений. Это уменьшает размер приложения, ускоряет его работы и обеспечивает дополнительную безопасность.
Статья охватывает все важные аспекты оптимизации сборки:
👉 Зачем использовать эти инструменты
👉 Как работает ProGuard/R8
👉 Оптимизация ресурсов Android приложения
👉 D8/R8
Статья очень толковая, подробно разбирает все аспекты. Рекомендую к прочтению. Автору респект!
Оптимизация сборок Android приложений: ProGuard, D8, R8. Тайны обфускации
Оптимизация и обфускация кода, который уходит в Production, - очень важный этап поставки клиентских приложений. Это уменьшает размер приложения, ускоряет его работы и обеспечивает дополнительную безопасность.
Статья охватывает все важные аспекты оптимизации сборки:
👉 Зачем использовать эти инструменты
👉 Как работает ProGuard/R8
👉 Оптимизация ресурсов Android приложения
👉 D8/R8
Статья очень толковая, подробно разбирает все аспекты. Рекомендую к прочтению. Автору респект!
#Gradle
Gradle Doctor - это плагин, который анализирует конфигурацию Gradle и определят ошибки в конфигурации, тормозящие скорость сборки
Gradle Doctor - это плагин, который анализирует конфигурацию Gradle и определят ошибки в конфигурации, тормозящие скорость сборки
#Kotlin
Kotlin Delegation by Inception
Разбор делегатов из Kotlin на примерах упрощения различных задач Android разработки:
👉 Получение значение из Bundle
👉 Работа с Intent
👉 Работа с View
Kotlin Delegation by Inception
Разбор делегатов из Kotlin на примерах упрощения различных задач Android разработки:
👉 Получение значение из Bundle
👉 Работа с Intent
👉 Работа с View
#Performance
Разрушаем мифы о производительности Android
Популярность всегда преследуется мифами. Так случилось и с Android. Разработчики, которые давно в этой ОС помнят о старых оптимизациях на уровне Java кода из первых версий Android. В статье разрушают современные мифы:
👉 Приложения на Kotlin больше и медленнее, чем приложения на Java
👉 Геттеры и сеттеры обходятся дорого
👉 Лямбда-выражения медленнее, чем внутренние классы
👉 Аллоцирование объектов — дорогое удовольствие, лучше использовать пулы
👉 Профилирование моего отлаживаемого приложения — это хорошая идея
а также другие странности
Разрушаем мифы о производительности Android
Популярность всегда преследуется мифами. Так случилось и с Android. Разработчики, которые давно в этой ОС помнят о старых оптимизациях на уровне Java кода из первых версий Android. В статье разрушают современные мифы:
👉 Приложения на Kotlin больше и медленнее, чем приложения на Java
👉 Геттеры и сеттеры обходятся дорого
👉 Лямбда-выражения медленнее, чем внутренние классы
👉 Аллоцирование объектов — дорогое удовольствие, лучше использовать пулы
👉 Профилирование моего отлаживаемого приложения — это хорошая идея
а также другие странности
Да кто такой этот ваш Mobile DevOps?
Есть ли такой человек как Mobile DevOps? Нужен ли он команде? За чем он следит и кака от него польза? Ответы в статье
Есть ли такой человек как Mobile DevOps? Нужен ли он команде? За чем он следит и кака от него польза? Ответы в статье
Реализовывали поддержку Android Enterprise в production приложениях?
Anonymous Poll
5%
Да
20%
Нет
68%
Что это?
8%
Не участвую в опросе
#SQLite #Performance
Android Room Hidden Costs
При использовании Room Android разработчики зачастую использую реактивные стримы (RxJava, Coroutines Flow) для получения всех изменений в данных. Важная особенность этого процесса, что при вставке любых данных выполняется повторный запрос в БД. В статье разбирается как можно оптимизировать это.
Полноценно сделать это не получилось, также автор не разобрал что будет в случае выполнения транзакций.
Android Room Hidden Costs
При использовании Room Android разработчики зачастую использую реактивные стримы (RxJava, Coroutines Flow) для получения всех изменений в данных. Важная особенность этого процесса, что при вставке любых данных выполняется повторный запрос в БД. В статье разбирается как можно оптимизировать это.
Полноценно сделать это не получилось, также автор не разобрал что будет в случае выполнения транзакций.
Как правильно идентифицировать Android-устройства
Вопрос уникальной идентификации устройства/пользователя зачастую стоит при разработке приложений. Все хотят собрать много данных, независимо от сервисов аналитик.
В статье автор разбирает различные подходы к идентификации пользователя в современной Android разработке с учетом всех ограничений. Обратите внимание на 2 библиотеки: Android-device-identification и Fingerprint-android.
Вопрос уникальной идентификации устройства/пользователя зачастую стоит при разработке приложений. Все хотят собрать много данных, независимо от сервисов аналитик.
В статье автор разбирает различные подходы к идентификации пользователя в современной Android разработке с учетом всех ограничений. Обратите внимание на 2 библиотеки: Android-device-identification и Fingerprint-android.
#Стажировка
Как устроены технические стажировки Авито
У вас есть возможность получить опыт работы в одной из крутейшей компании России, научиться работать в Scrum. Помимо всего прочего стажировка оплачиваемая , удаленная и вас будет свой наставник - инженер из Авито. Вы будете решать боевые задачи с первого дня!
Все позиции на стажировку можно найти здесь. После успешной стажировки вы сможете стать полноценным сотрудником Авито.
Как устроены технические стажировки Авито
У вас есть возможность получить опыт работы в одной из крутейшей компании России, научиться работать в Scrum. Помимо всего прочего стажировка оплачиваемая , удаленная и вас будет свой наставник - инженер из Авито. Вы будете решать боевые задачи с первого дня!
Все позиции на стажировку можно найти здесь. После успешной стажировки вы сможете стать полноценным сотрудником Авито.
#Android11
The Quick Developers Guide to Migrate Their Apps to Android 11
Для всех тех кто не обновляет свои приложения до последней версии targetSdk, только когда Google заставит, рекомендую ознакомиться со статьей, в которой автор разбирает обновления в коде:
👉 Foreground Service Type
👉 Доступ с местоположению в фоне
👉 Одноразовые разрешения (One-Time Permissions)
👉 Scoped Storage
👉 Ограничения на доступ к другим приложениям
👉 Уведомления
👉 Отслеживание показа IME
👉 AsyncTask Deprecated
👉 Множество ограничений и изменений в поведении Toast
The Quick Developers Guide to Migrate Their Apps to Android 11
Для всех тех кто не обновляет свои приложения до последней версии targetSdk, только когда Google заставит, рекомендую ознакомиться со статьей, в которой автор разбирает обновления в коде:
👉 Foreground Service Type
👉 Доступ с местоположению в фоне
👉 Одноразовые разрешения (One-Time Permissions)
👉 Scoped Storage
👉 Ограничения на доступ к другим приложениям
👉 Уведомления
👉 Отслеживание показа IME
👉 AsyncTask Deprecated
👉 Множество ограничений и изменений в поведении Toast
#Flow #Coroutines
FlowBinding 1.0.0 уже в релизе (EN)
Для всех кто любит реактивное программирование, использовал библиотеку RxBinding возрадуйтесь - теперь у вас есть стабильная версия binding на основе Coroutines Flow
FlowBinding 1.0.0 уже в релизе (EN)
Для всех кто любит реактивное программирование, использовал библиотеку RxBinding возрадуйтесь - теперь у вас есть стабильная версия binding на основе Coroutines Flow