Android Good Reads
3.88K subscribers
344 photos
13 videos
1 file
2K links
Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Автор канала: @Lamprof

Размещение рекламы: @tanyasanovna
Download Telegram
Серия статей про Kotlin Multiplatform от Premise

Команда Premise, работающая с KMM уже полтора года, опубликовала серию статей про свой опыт с упором на сценарий интеграции в существующие приложения:

🤔Детальный разбор того, как они используют KMM: локальное окружение, CI/CD, обучение команды, эксперименты
🧱Структура и настройка проекта
🚰CI pipeline на GitHub Actions
Подробный разбор контекстных ресиверов

В Kotlin 1.6.20 появился прототип новой крупной языковой фичи – контекстные ресиверы. Ее основная задача – заменить собой extension functions в тех случаях, когда их не хватает.

Marcin Moskala написал самую подробную статью про фичу, что я видел, с деталями про кейсы использования и ограничения.
JSON Hero – супер мощный визуализатор JSON в браузере

JSON Hero – сайт, который рендерит JSON файлы в удобном для чтения представлении. Например, сразу подгружает изображения и url preview, показывает дату сразу во всех форматах, проводит валидацию файла и делает многое другое.
Data Objects в Kotlin 1.7.20

На этой неделе в канале много материалов про новые языковые фичи в Kotlin. Держите еще одно видео – про Data Objects, прототип которых появился в версии 1.7.20.
Сравнение производительности Moshi и kotlinx-serialization

- Производительность Moshi и Serialization практически одинаковы
- Версия Moshi, работающая с помощью рефлексии, самая медленная, ее надо избегать
- Интеграция Serialization с Okio хуже, чем в Moshi, и ухудшает перфоманс декодирования
Подробный гайд по тестированию in-app subscriptions

Ребята из RevenueCat подготовили большой гайд про то, как верифицировать работу всех сценариев работы с подписками.
Как с помощью Kover сгенерировать бейдж с code coverage

- Kover – Gradle плагин, оценивающий процент покрытия Kotlin кода тестами
- В статье разбирается, как правильно сконфигурировать Gradle таску и GitHub Action, чтобы добавить в README проекта бейдж с code coverage
This media is not supported in your browser
VIEW IN TELEGRAM
Новый фотопикер в Android

- В Android 13 задепрекейтили READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE permissions.
- Вместо этого предлагается использовать системный фотопикер, который позволяет выбрать, к каким файлам дать доступ приложению.
- В отдельных случаях можно задать более гранулярные разрешения для конкретных типов файлов.
Обработка разовых событий ViewModel’и в Compose

- Часто логика приложения предусматривает события, который могут произойти и должны быть обработаны только один раз.
- Исторически под такое событие создавался SingleLiveEvent, который обзервился нужным компонентом.
- Автор статьи разбирает более чистый способ решения задачи, соответствующий гайдам Now in Android.
Google переезжает с Java на Kotlin для бэкенда

Важная новость для всех, кто следит за развитием Котлина за пределами Android. Google рассказали, что выбрали Kotlin как замену для Java для своих внутренних сервисов. В рассказе много интересных данных из внутренних рисерчей:

- Больше 1000 человек в Google пишут код на Kotlin
- Всего внутри больше 11млн LoC на Kotlin
- За последний год количество Kotlin кода выросло в два раза
Снова про functional core, imperative shell

Автор разбирает основную идею парадигмы «functional core, imperative shell», сводя архитектуру проекта к трем компонентам – UI, Reducer и CommandHandler. Статья работает как хорошая вводная для оригинального доклада. А детали про то, как парадигма может быть применена к Android проекту, есть тут.
Релиз Compose Multiplatform 1.2

Все основные изменения в этом релизе касаются поддержки десктопа:

- Поддержка ProGuard
- API выбора элементов для фокуса с помощью клавиатуры
- Новые модификаторы для работы с мышью и клавиатурой
- Поддержка Conveyor – удобного инструмента для сборки, распространения и менеджмента апдейтов
VisualFSM – библиотека визуализации состояний в MVI

- Логика смены состояний в MVI может быть описана в виде конечного автомата.
- Такое описание позволяет автоматически построить понятный граф переходов между этими состояниями, что упрощает анализ системы.
- VisualFSM – библиотека с набором компонентов для организации такого автомата и визуализации его состояний.
Резиз превью Fleet, новой IDE от JetBrains

- Fleet – новая IDE с поддержкой Kotlin, которая может работать как в режиме обычного редактора с ограниченными возможностями по подсветке и навигации, так и в режиме полноценной IDE.
- Релиз еще очень сырой, дальше в разработке фокус будет на перфомансе, API для написания плагинов, поддержке тем.
- Детали есть в видео демо.
Landskapist – библиотека для работы с изображениями в Compose

- Библиотека загружает изображения с помощью Glide, Coil и Fresco.
- Поддерживает preview mode в Android Studio.
- Поддерживает кучу плагинов и возможность писать собственные: плейсхолдеры, анимации загрузки и отображения, трансформации.
Новости про TensorFlow Lite в Google Play Services

- TensorFlow Lite, включенный в Google Play Services, теперь считается официальным решением для инференса моделей на устройстве.
- Это значит, что можно больше не тащить TensorFlow самостоятельно.
- Так же в Google Play Services включаются TensorFlow Lite Delegates – расширения, которые позволяют процессить модели с подключением специальных чипов на устройстве и GPU.
Воркшоп по знакомству с Kotlin Multiplatform Mobile

Выход в Beta подходящий момент, чтобы разобраться с КММ, собрать свой первый проект с шаренным кодом и присмотреться к интеграции в рабочий проект.
This media is not supported in your browser
VIEW IN TELEGRAM
State Destructuring vs State Delegates

В статье разбирается два подхода к работе с mutable стейтом в Compose и границы их применимости.