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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Charty – библиотека для создания графиков для Compose

- Поддерживается много видов гистограмм, круговых диаграмм и линейных графиков
- Есть семпловое приложение, в котором можно поиграться со всеми графиками
DivKit — в опенсорсе

Ребята из Яндекса опубликовали на гитхабе новый фреймворк DivKit, который ускоряет разработку приложений. Его особенности:

- DivKit позволяет интегрировать подход Server-Driven UI на уровне отдельных элементов
- Изменения UI могут раскатываться с сервера на все версии приложения одновременно
- Кроссплатформенность: пишем один код для Android, iOS и веба.
Как расчитываются размеры Layout’ов в зависимости от их родительских элементов

- При реализации кастомного Layout вы получаете доступ к measurables, списку элементов для измерения, и constraints, списку ограничений, накладываемых родительскими элементами
- К constraints относятся ограничения не только родительских view, но и различных modifiers
- BoxWithConstraints – особенный вид Layout, в котором композиция элементов происходит уже на этапе measure/layout
Accompanist – что это за библиотеки и какая у них судьба

- Сейчас Accompanist включает в себя Pager, FlowLayouts, Navigation Transitions, Swipe Refresh и другие компоненты
- Основная цель Accompanist – тестировать пользу от фичей, пока не готовых к добавлению в Jetpack
- Эти фичи нельзя включать напрямую в AndroidX, так как использовать экспериментальный API между модулями запрещено
- 30% приложений, использующих Compose, используют и Accompanist
Официальный гайд по архитектуре offline-first приложений

Основные требования к offline-first приложению: оставаться раьотоспособным без сетевого соединения, всегда показывать локальные данные, не дожидаясь ответа сервера, запрашивать обновления сервера с учетом ограничений сети и батареи. В гайде даются советы, как:

- Организовать слой данных с двумя репозиториями – для локального хранения и работы с удаленными данными
- Построить операции чтения и записи данных
- Обрабатывать ошибки
- Решать конфликты при синхронизации
onBackPressed() deprecated

Начиная с Android 13, метод onBackPressed() депрекейтится. Причина в том, что обработка перехода назад переводится на ahead-of-time модель.
This media is not supported in your browser
VIEW IN TELEGRAM
v9 – библиотека для работы с векторными изображениями

- v9 позволяет динамически ресайзить Path-объекты, сохраняя изначальные размеры некоторых из их частей
- Аналогичным образом работают 9-patch bitmaps
- Автор библиотеки – Romain Guy, ключевой разработчик Compose и Android
Cross device SDK Developer Preview

Cross device SDK – это набор API для разработки приложений, которые работают сразу на нескольких типах устройств. Оно помогает со следующими задачами:

- Найти девайсы рядом с текущим и соединиться с ними
- Пошарить стейт между приложениями на разных устройствах
- Запустить приложение на второстепенном устройстве без запуска его на основном
- Начать выполнять задачу на одном устройстве и продолжить на другом

📹Детальное видео
📝Документация
Как писать плагины для Danger CI

- Danger – это система для автоматизации сообщений во время автоматического code review. По сути, она умеет брать output любых анализаторов кода и превращать его в понятные сообщения в GitHub PR.
- Автор статьи подключает ktlint к Danger и на его примере показывает, как решить такую задачу и для других проверок.
Онлайн-книга про алгоритмы

Большая коллекция статей про различные виды алгоритмов, структур данных и связанных с этим областей знаний.
Как избежать бойлерплейта при работе с Use Cases

Одна из основных проблем чистой архитектуры и юзкейсов в частности состоит в том, что в ряде случаев они становятся просто бесполезными прослойками над репозиторием. Автор разбирает плюсы и минусы четырех подходов к их организации.

Оптимальный способ их организации – функциональные юзкейсы с функциональными интерфейсами.
Серия статей про MVI на стейт-машине

В серии статей разбирается, как реализовать MVI архитектуру без втаскивания в проект лишних зависимостей.

1️⃣ Основные идеи
2️⃣ Обвязка
3️⃣ Многомодульность и мультиплатформа
💻 Код на GitHub
Pokedex – пример современного Android приложения

Pokedex – MVVM приложение, которое использует все последние архитектурные рекомендации Google. Технический стек:

💉Hilt
🔀Coroutines
🌊Flow
📦Room
🎨Material Design
💻KSP
Wear OS Tiles Material Library

- В новой библиотеке есть базовые компоненты для построения любого тайла: кнопки, индикаторы прогресса, текст
- Начиная с Android Studio Dolphin есть возможность устанавливать и запускать тайл прямо из IDE

🎨 Детальные гайдлайны
💻 Примеры кода
Интерактивный курс AtomicKotlin в IntelliJ

- AtomicKotlin – книга и курс для тех, кто только вкатывается в Kotlin и хочет разобраться, как писать идиоматичный код
- Курс и все задания доступны в виде бесплатного плагина для IntelliJ
Советы по оптимизации перфоманса Compose

Еще одна подборка рекомендаций по тому, как организовывать Compose код, чтобы избежать лишних рекомпозиций и других дорогостоящих операций.