Android Broadcast
14.2K subscribers
3.51K photos
338 videos
11 files
5.89K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#RoboScripts #Firebase #GooglePlay

Test Robo Scripts Locally: Useful For Firebase Test Lab & Pre-launch Reports

Используете ли вы Google Play Console Pre-launch Report ? Это хороший способ проверить работоспособность вашего приложения перед релизом. У меня ни один релиз не уходит дальше Альфа канала, пока не придёт успешный отчет о прохождении проверок.

По умолчанию механизм работает на основе автоматического прохождения вашего приложения, что порой может его вовсе увести из приложения. Чтобы избежать этого можно использовать Robo Scripts из Firebase Test Lab. Эти скрипты позволят вам описать сценарий прохождения вашего приложения, чтобы проверить самые важные места

В статье рассматривается как проверить Robo Script локально, не ограничивая себя лимитами Google Play Console и Firebase Test Lab. Спойлер - App Crawler (официальный инструмент)
#Kotlin #InlineClass

Inline classes, the next level of type safety

Система типа Kotlin замечательна. Она решила проблему null safety, дала нам sealed классы и inline классы. В чем прелесть inline классов? По сути они дают вам нулевую цену за обертку одних объектов в другие.

Но когда это может быть полезно? Подумайте сколько у вас использование Int и String в коде для представления различных наборов значений или кодов. Например, в Android Int используется для представления ресурсов разных типов и единственная защита от ошибки - это аннотации, которые проверяет Android Lint.

В статье разбирается как inline класс улучшает разграничение типов
#Fragment

Simplifying the FragmentManager API: Multiple Fragment backstacks on Android

Обсуждение поддержки множества back stack для Fragment API - уже долго обсуждаемая тема. Особенно это стало важно, когда шаблон "Bottom Navigation" набрал популярность. Пока все ждут стандартной реализации (о которой разработчики Fragment уже говорят), можно сделать собственный вариант. Пример этого можно найти в статье.
#Architecture #Reactive

Building a system of reactive components with Kotlin

Продолжение рассказа о том, какую архитектуру используют в Badoo для разработки приложений. В новой статье речь зайдет о базовых блоках для построения реактивной архитектуры
#Architecture #MVI #Reactive

Introducing Orbit MVI for Kotlin and Android

Разработчики из компании Babylon Health показали свое собственное решение для архитектуры - OrbitMVI. В статье рассматриваются базовые принципы MVI и особенности решения.
#Podcast #Reaktive #Kotlin #Multiplatform

Подкаст "Reaktive на Kotlin Multiplatform"

Взял интервью у разработчиков библиотеки Reaktive: Аркадия Иванова и Юрий Влада. Ребята рассказали о реализации, с каким трудностями столкнулись при разработке на Kotlin Multiplatform, готовность к проду, производительность и пр.

Полезные ссылки:
👉 Reaktive Github
👉 Reaktive JMH Benchmark
👉 Доклад "Kotlin Multiplatform с точки зрения бизнеса"
#Coroutines #Flow

Binding Android UI with Kotlin Flow

Помните библиотеку RxBinding? Она позволяет получать события от Android виджетов в Rx стиле. Kotlin Flow -это реактивный подход, основанный на Coroutines. Так вот, энтузиасты совместили подходы RxBinding, заменив механизм на Flow, получили новую библиотеку - FlowBinding. В статье рассматриваются все подробности работы с библиотекой.
#Coroutines

Everything you need to know about Kotlin Coroutines

Слышали о Kotlin Coroutine? Трудно такое пропустить. Все кто использует Kotlin (а это большинство Android разработчиков). Google также активно агитирует за использование этого асинхронного подхода. Нет, это не из-за "Kotlin First" в Android разработке, а из-за того как Structured Concurrency эффективно решает связь между асинхронными задачами и жизненным циклом компонентов.

В статье вы найдете краткое руководство обо всех основных моментах, что позволит вам понять тему и попробовать их в действии.
#ADB

Вышли SDK Platform Tools 29.0.5 в которой была улучшена 👉 производительность на Linux
👉 для команды adb install был добавлен новый флаг --fastdeploy, который позволяет инкрементально обновлять APK во время разработки.
#RxJava

Operator fusion in RxJava 2

Разбор оптимизаций библиотеки RxJava 2 для обеспечения наибольшей производительности и устранения негативных эффектов от создание множества промежуточных объектов, называемые "operator fusion".
#Security #Biometric #Jetpack

One Biometric API Over all Android

Готовиться к стабильному релизу библиотека AndroidX Biometric (текущий статус RC2), которая портирует возможности android.hardware.biometrics на Android 6.0+.

android.hardware.biometrics предоставляет стандартный UI для биометрической авторизации (отпечатком пальца или другой) и минимизирует затраты на интеграцию
#GooglePlay

Policies & Publishing on Google Play

Как правильно разрабатывать ваше приложение чтобы оно прошло одобрение в Google Play или не было забанено в будущем? В Google сделали небольшое видео с раскрытием основных политик:
👉 Используйте аудио, видео и картинки, которые не нарушают авторских прав
👉 Безопасность данных пользователя - важный аспект
👉 Используйте только необходимые разрешения, которые нужны вашему приложению
👉 Соответствие Family Policy, в особенности если ваше приложение позиционируется для детей или дети могут использовать его
👉 Правильное описание вашего приложения в Google Play

Соблюдение этих правил - шаг на пути к успешной публикации в Google Play
#Image #Animation

Animate image rotation like a PRO

Рассказ о том как красиво повернуть картинку (конечно же с анимацией), используя для этого изменение матрицы картинки.
#SDK #Video

Выпущено TikTok SDK

Стало доступно публичное SDK для популярного сервиса TikTok. С помощью него вы можете встроить видео из сервиса в своё приложение или загрузить его туда.
#Performance

The battle for jank*-less UI on Android

Разбор базовых способов как найти проблемы почему ваше приложение пропускает кадры и не отображает UI с частотой 60 кадров в секунду:
👉 StrictMode
👉 GPU Overdraw
👉 HWUI rendering
#JSON #Performance

Beyond Gson — Evaluating JSON Parsers for Android & Kotlin

Какой JSON парсер самый быстрый? Задумывались ли вы об этом? Я думаю что значительная часть подписчиков канала используют GSON в качестве парсера, возможно даже и не зная этого.

Что не так с GSON? Он не поддерживает Kotlin из коробки (например nullability), который является основным языком для Android разработки.

В статье сравниваются различные парсеры и как можно мигрировать на них. Результаты сравнения по тестам производительности следующий:
1️⃣ Moshi 🏆
2️⃣ kotlinx.serialization (в процессе разработке, но уже стабильна)
3️⃣ GSON
4️⃣ Jackson

Первые два парсера смогли оторваться за счет того что не используют рефлексию
Какой парсер JSON используете вы?
Final Results
70%
GSON
17%
Moshi
6%
kotlinx.serialization
4%
Jackson
0%
Другой
2%
Не знаю
0%
Использую другой формат для сериализации