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

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#UI #Framework

Litho: лучшие практики для создания эффективного UI в Android

Многие слышали о Jetpack Compose, но не все знают, что уже давно существует конкурент от Facebook под названием Litho, который представляет собой фрэймворк, позволяющий создавать UI в декларативном стиле в коде. Причем его уже можно использовать в Production!

Основные преимущества этого фрэймворка:
👉 Все вычисления происходят вне UI потока в него передаётся лишь Draw
👉 Значительный прирост в производительности при отрисовке UI
👉 Интерфейс более плоский, потому что сокращается уровень вложенности Layout'ов

При этом существует и ряд недостатков:
Плохая интеграция с Android Studio
Нет поддержки в UI Preview
Интеграция с Kotlin всё ещё в разработке

Если же достоинства превосходят недостатки, то для вас статья от Сергея Рябова, разработчика Litho, в ней он постарался раскрыть большинство аспектов фреймворка.
#Conference #Online

DevParty Russia!

В субботу, 27 июня, ждём на 15-часовую бесплатную онлайн-конференцию DevParty от GDG Russia. Все начнется в 5 утра по московскому времени, встретим рассвет в Владивостоке, а завершим день и проводим закат в Калининграде. И все это в прямой трансляции!

В программе вас ждут:
- 3 потока (Mobile, Web, Cloud)
- 45 спикеров из более чем 10 стран
- 33 комьюнити GDG со всей России
- GDE по всем направлениям

В мобильном треке вас ждет 15 докладов от спикеров из Lyft, Avito, JetBrains, EPAM Systems, Replika.ai, Тинькофф, MERA, Surf и других компаний.
На DevParty Russia будет выступать автор канала Кирилл Розов с докладом "Все ли вы знаете об Android Jetpack?" в котором расскажет о интересных API, которое вы могли упустить, а также о будущих версиях и новинках, представленных вместе с Android 11 Beta 1
#Course #Online

JetBrains Academy Is Getting Ready to Hit the Market

JetBrains Academy станет платной. Если успеете зарегистрироваться до 1 июля, то у вас останется бесплатный доступ до 2021, а на следующий год получите скидку на подписку.
#Coroutines #UnderTheHood

Coroutines: Suspending State Machines
8 минут на чтение

В статье разбирает как код с использованием suspend функций и Coroutine превращается в рабочий код на конечной платформе. Разбираются такие понятия как:
👉 suspension points
👉 Continuation Passing Style (CPS)
👉 state machine

Все довольно лаконично, просто и с визуализацией, поэтому сложить высокоуровневое представление получается достаточно хорошо.
#Multiplatform #KMP

Создаём своё первое приложение для Kotlin Multiplatform

Kotlin Multiplatfrom - отличная возможность писать общий код сразу для нескольких платформ, на языке, полюбивщимся Android разработчикам.

Общая идея проста - нативный код платформы все еще остается, однако дополнительно на Kotlin можно создавать переиспользуемые между платформами модули - общая бизнес логика, сервисы по работе с сетевым подключением, базами данных и т.д.

В данной статье разбирается по шагам как написать свое первое приложение с Kotlin Multiplatform сразу под две мобильные платформы (Android и iOS):
👉 необходимые среды разработки и инструменты
👉 структура и настройка проекта
👉 создание общей логики и ее вызов в нативной платформенной части

В статье при создании общего модуля показан пример использования Coroutines и Ktor - мультиплатформенной библиотеки для работы с сетью и сериализацией
#Security

Dependency-check-gradle plugin - интересный Gradle плагин от OWASP для поиска уязвимостей в проекте.

Позволяет запуском одной команды (не считая команды на обновление локальной базы данных) подготовить отчет о наличии в зависимостях известных уязвимостей.

Сам плагин работает поверх утилиты DependencyCheck. Информация об уязвимостях берется из базы данных управления уязвимостями NVD.
#CustomView

Custom view from scratch. Part I.

Автор начал серию статей в которой он хочет полностью разобрать тему Custom View. В первой части он рассказывает:
👉 Когда стоит использовать
👉 Жизненный цикл
👉 Основы и тонкости при наследовании от базовых классов

Если вы всегда хотели разобраться в этой теме, то стоит следить за обновлениями автора, а сама статья будет вам полезна в качестве первого шага в теме кастомных View. Jetpack Compose упростит создание собственных виджетов, но знания от Custom View будут нужны.
#MLKit #MachineLearning

On-device machine learning solutions with ML Kit, now even easier to use

ML Kit - sdk для использования возможностей машинного обучения в мобильных приложениях.

В посте рассказывается про то, что:
👉 для использования ML Kit проект в Firebase больше не обязателен
👉 ML Kit обрабатывает данные в режиме реального времени, без задержек из-за сетевых запросов
👉 работает в offline режиме
👉 пользовательские данные не отправляются в сеть, а значит приватность сохраняется
👉 некоторые модели доставляются через Google Play Services, а значит уменьшается размер приложения при установке
👉 можно использовать не только готовые модели, но и собственные модели TensorFlow Lite
👉 в рамках программы раннего доступа можно ознакомиться с новыми моделями: Entity Extraction и Pose Detection
👉 добавлена поддержка Android Jetpack Lifecycle, что облегчает остановку использования ML Kit на основании жизненного цикла
👉 интеграция с Lifecycle также сделала использование CameraX проще и удобнее. 
💪 Как начать работать с новым ML Kit и его поддержкой CameraX можно узнать в code lab Recognize, Identify Language and Translate text
ОПРОС ДЛЯ РАЗРАБОТЧИКОВ
Какая ОС на вашем основном личном смартфоне?
Anonymous Poll
85%
Android
13%
iOS
0%
Другая ОС
0%
Не использую смарфтон
0%
Не разработчик
1%
Не участвую в опросе
Android Broadcast
Ваше мнение по поводу новой библиотеки Hilt:
Интересные результаты по поводу Dagger Hilt - впервые на моей памяти большинство респондентов решили выбрать "Не участвую". Но а из ответов без игнора видно что большой популярности добиться не получилось пока, только хайпануть на Hilt можно
Pokedex

Помните таки созданий как покемоны? В моем детстве все дети от них тащились (а я даже знал всех 150 наизусть 😎), а пару лет назад вообще все бегали с телефонами и в AR ловили их везде вокруг.

Но сегодня вы можете посмотреть pet проект в котором реализована идея поке-Wikipedia и понасталгировать, но и увидеть приложение с современнейшим стеком:
👉 Kotlin
👉 Coroutines
👉 Dagger Hilt
👉 Jetpack MVVM
#ProGuard #Kotlin

Full Kotlin Support in ProGuard

В новой версии Proguard (7.0) добавили полную поддержку Kotlin. Например, он умеет обрабатывать метадату Kotlin, которую R8 боится трогать.
#Kotlin

Kotlin DSL для создания State Machine

Все лаконично и просто - если вам нужна finite State Machine и вы используете Kotlin, то вам стоит обратить внимание на эту библиотеку от разработчиков из Tinder

Также есть специальные плагины для IDEA чтобы визуализировать эту State Machine
#REST

Migrating Retrofit to Ktor

Retrofit давно стал "серебряной пулей" для Android-разработчиков в вопросе работы с REST, но у JetBrains есть для этих целей своё решение — библиотека Ktor, которая полностью написана на Kotlin и под капотом использует Coroutine.

Автор рассказывает как интегрировать библиотеку в ваше приложение:
👉 Настройка HTTP клиента
👉 Сериализация
👉 Создание запросов
👉 Обработка ошибок

Однако, автор сам замечает тот факт, что Ktor сложнее в настройке и не такой удобный как привычный всем Retrofit. Основным аргументом для миграции на Ktor является возможность использования при мультиплатформенной разработке на Kotlin Multiplatform.
#AndroidStudio #SystemTrace

What’s New in Android Studio System Trace

System Trace - утилита, позволяющая анализировать активность на устройстве за некоторый период времени. Начиная с Android Studio 4.0, System Trace стала доступна как часть UI в IDE.

В статье рассматриваются новинки утилиты и как с ней удобно работать в Android Studio.
#Architecture

Designing and Working with Single View States on Android

В мире разработки Android споры о лучшем архитектурном подходе не утихали никогда. Многие пытаются найти самый лучший подход. У каждого паттерна есть свои достоинства, недостатки и сфера применения. Сегодня предлагаем вам посмотреть на статью про использование ViewState для управления UI, что является особенностью MVI паттерна, в рамках MVVM архитектуры.

В статье описывается два варианта подхода к контролю ViewState, приводятся примеры кода и есть ссылка на готовый проект, в котором можно посмотреть всю структуру.
#Huawei #HuaweiMobileServices

Huawei выпустила HMS Core 5.0

Huawei Mobile Services (HMS) - это платформа для Huawei и Honor устройств, которая заменяет популярные приложения и службы Google. Это альтернатива Google Play Services (GMS).

HMS Core — это набор различных инструментов для разработчиков (API, SDK и сервисы) для создания приложений, интегрированных в экосистему Huawei.

Недавно Huawei представила новую версию HMS Core. Среди улучшений и изменений:
👉 изменения в системе позиционирования
👉 изменения в push-сервисах
👉 улучшения в способе обработки графики и звука
👉 появилась поддержка приложений дополненной реальности