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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Brush API в Compose 1.2

Разбор новых возможностей кастомной окраски текста, появившихся в новой версии Compose.
Запуск third-party инструментов из Android Studio

В Android Studio можно настраивать External Tools – по сути, запуск любого стороннего исполняемого файла с аргументами с помощью иконки в тулбаре или хоткея.
Как CompositionLocal может помочь с аналитикой

CompositionLocal – это API в Compose, который позволяет получить доступ к каким-то данным из любого Composable без необходимости передачи их вручную через параметры функции. Пример использования – работа с темами.

CompositionLocal удобен и для того, чтобы настроить аналитику – ведь ее инициализация находится где-то в точке общей конфигурации приложения, а непосредственное логивание событий – в листьях дерева нод.
Как в N26 подошли к автоматизации Gradle бенчмарков

Слайды отличного доклада про то, как команда N26 решала задачу автоматизации бенчмарков для большой команды.
Снепшот-тесты для Android

- Такие тесты позволяют хорошо контролировать регрессии на экранах, которые редко изменяются
- QuickBird выпустили библиотеку kotlin-snapshot-testing, которая позволяет легко писать такие тесты
- Она автоматически записывает целевое состояние экрана и строит визуальный дифф, если оно изменится
Релиз Kotlin 1.7.20-Beta

На прошлой неделе вышла первая Beta нового релиза Kotlin. В ней можно потрогать большинство фич, которые войдут в релизную версию, проверить, собирается ли ваш проект, и порепортить найденные баги.

- Новый оператор ..<, который заменяет until, и сильно увеличивает читаемость кода в связке с ..
- K2 уверенно движется к Beta, добавив поддержку многих компиляторных плагинов
- Новая мемори модель в Kotlin/Native теперь включена по умолчанию
- Детальный What’s new
Zipline – библиотека для простой интеграции Kotlin/JS кода в Kotlin/JVM

Большой плюс Kotlin/JS – что его можно распространять и подгоужать в приложение в обход стандартного релиза через Google Play. Zipline помогает с бриджингом и исполнением Kotlin/JS кода из ваших нативных приложений.

Вот где это может пригодиться:
- Различные системы плагинов, которые пользователи устанавливают сами
- Обновление бизнес-логики, например, расчета цен
- Подгружаемый игровой контент
- Реализация системы continuous deployment
Вводная статья в KSP

Разбираемся с тем, как писать собственные инструменты поверх KSP на примере упрощения конвертации enum’ов в строки.
This media is not supported in your browser
VIEW IN TELEGRAM
Brush API и Compose Animations

Продолжение поста про новые возможности работы с окрашиванием текста, которые дает Brush API.
Шаги по поддержке Rust в Android NDK

В ответ на Feature Request о поддержке Rust в NDK, инженеры Google выкатили роадмап по тому, что конкретно требуется для этого сделать. Конкретных планов по его реализации пока нет, но выглядит интересно.
Кастомизация device frame у эмулятора

В Android Studio можно настраивать кастомные рамки для эмуляторов. Таким образом, все скриншоты, которые вы будете делать, сразу будут включать нужное оформление девайсов.
Особенности рекомпозиции в Compose

- Из-за особенностей компиляции лямбд, Compose может не считать их Stable
- Data classes, содержащиеся в отличных от текущего модулях, не будут помечены Stable по умолчанию
- Часто меняющийся стейт может оказывать очень сильное влияние на перфоманс
Новый онбординг в KMM

Команда Kotlin сильно переработала документацию для KMM, в частности – последовательность статей, заданий и семплов кода, которые помогают новичкам вкатиться в SDK.
Пишем расширения для браузера на Kotlin

Идея для пет-проекта – написать собственное расширение для Chrome, которое делает что-то полезное. Шаблон по ссылке даст вам возможность не трогать JavaScript и написать его на чистом Kotlin.
ViewBinding и утечки памяти

- Часто встречаются рекомендации выставлять view binding в null, чтобы избежать утечек памяти
- Жизненный цикл View дестко привязан к Activity, поэтому в этом случае самостоятельно занулять не надо, все решится само
- В случае фрагментов ситуация другая – вью могут создаваться и уничтожаться, поэтому освобождать view binding вручную
нужно
- Для ViewHolder выставлять view binding в null тоже не требуется
Используем Koin для организации DI не только в Kotlin и KMM коде, но и в Swift

Хорошая идея по тому, как можно прикрутить Koin для резолва KMM зависимостей в Swift коде через самописную аннотацию
Решаем проблему множественных кликов в Compose

Разбор нескольких подходов к тому, чтобы не инициировать лишние действия в приложении, когда пользователь вызывает одно и то же событие несколько раз.
Все видео Droidcon Berlin 2022

В открытый доступ выложили все видео недавнего Droidcon Berlin. Советую начать вот с этих:
📹Deep Dive into DEX Files Byte-by-Byte
📹Diving into Koin 3.2
📹How we Migrated the CI/CD of our Android App to GitHub Actions
📹5 Ways to Improve Your Android Build Productivity
Talking Kotlin: Kotlin Design Patterns

Еще одно видео вам в список просмотра – Алексей Соснин, автор книги Kotlin Design Patterns, рассказывает про ее содержание и делится best practices, которых придерживается сам.