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

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

Размещение рекламы: @tanyasanovna
Download Telegram
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 из коробки.
Исследование того, как в разных компаниях подходят к автотестам

Женя Мацюк, автор библиотеки Kaspresso и бесконечности докладов про автоматизацию тестирования, провел интервью с 30 командами мобильной разработки и подбил аналитику по тому, что там по автотестам в 2022 году.

- У 30% команд написано больше 1000 UI тестов.
- У большинства команд соблюдаются пропорции стандартной пирамиды тестирования, и unit-тестов больше, чем end-to-end.
- 60% команд гоняют UI тесты на каждый PR, а 25% – на ночных сборках.
- У половины команд время на прогона сьюта тестов на PR – больше 25 минут.
- Больше половины респондентов запускают в паралелль не больше пяти эмуляторов.

Конечно, в исследовании явно есть перекос в сторону больших команд, поэтому учтите это при прочтении статьи.
Android Good Reads pinned «Вышло ежегодное исследование популярности команд Android разработки В этом году мы опросили 660 Android-разработчиков, на 40% больше, чем в прошлом! Посмотрите отчет, чтобы узнать: 💰В каких сферах предпочитают работать Android разработчики (спойлер – топ…»