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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Подробный гайд по тестированию 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 и границы их применимости.
Вышло ежегодное исследование популярности команд Android разработки

В этом году мы опросили 660 Android-разработчиков, на 40% больше, чем в прошлом! Посмотрите отчет, чтобы узнать:
💰В каких сферах предпочитают работать Android разработчики (спойлер – топ-1 это банки)
📚Какие 10 книг чаще всего рекомендуют для прочтения
🤔Какие каналы и сообщества про Android разработку самые популярные
📃Как много андроидщиков планирует менять работу в этом году
📊Кто входит в топ Android экспертов
🤩В каких компаниях и почему разработчики хотят работать

Исследование проведено при поддержке VK. Пошарьте опрос в своем рабочем чате, мы будем очень рады ❤️
Как работает звук

Главный лонгрид недели – Bartosz Ciechanowski, которого вы знаете по крутейшим интерактивным статьям о принципах работы GPS и механических часов, выпустил новый материал. В нем он разбирает основные принципы того, как в атмосфере передаются звуки, и что влияет на то, что именно мы слышим.
Приложение Pocket Casts в Open Source

Команда Pocket Casts решила заопенсорсить свои мобильные приложения на GitHub и вести весь процесс разработки открыто.
This media is not supported in your browser
VIEW IN TELEGRAM
Основные анонсы с Android Dev Summit’22

🎁 Появился Gradle BOM, содержащий стабильные версии всех Compose библиотек.
🎨 Стабильный релиз Compose Material 3, а с ним – подробный migration guide.
👨‍🎨 Альфа-релиз Relay, инструмента для конвертации Figma-компонентов в Compose-код.
🏎 Baseline Profiles стали стабильными.
💻 Большой рефакторинг Compose Modifiers, благодаря которому перфоманс значительно улучшится.
🛠 Много новых фичей в Compose: от возможности рисовать текст на канвасе до модификатора pullRefresh.
Обновленные архитектурные рекомендации от Google

Все рекомендации разбиты на три группы:
🔥Strongly recommended (UDF, lifecycle-aware state collection, coroutines and flows)
👍Recommended (не использовать AndroidViewModel, использовать single-activity подход, Hilt)
🤷‍♂️Optional (рекомендации по неймингу)

Новый контент в рекомендациях:
- Овервью про модуляризацию
- Обзор паттернов модуляризации
- State holders
- Менеджмент стейта UI
- Navigation UI events
- Использование Navigation Compose
This media is not supported in your browser
VIEW IN TELEGRAM
Как в CameraX решаются проблемы совместимости с разными девайсами

CameraX – Jetpack библиотека, которая дает приложениям доступ к камере. Особенности работы с камерой отличаются от устройства к устройству, поэтому одна из ключевых задач CameraX – скрывать внутри себя детали реализации совместимости. В статье раскрываются детали того, как команда с ними работает:

📱Библиотека тестируется на ферме из 150 разных девайсов.
💻Под капотом скрыты 30 костылей, нужных для поддержки конкретных устройств.
📂Поддержка Foldables из коробки.