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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Пример использования multipreview annotations в Now in Android

- Compose позволяет задавать кастомные конфигурации для Preview аннотаций. Они позволяют быстро посмотреть, как будет выглядеть компонент с разными настройками
- В Compose 1.2.0 завезли поддержку Multipreview аннотаций. Благодаря ей можно скомбинировать несколько Preview с разными конфигурациями в одну аннотацию
- По ссылке – PR в приложение Now in Android, в котором Multipreview аннотации используются для добавления поддержки светлой и темной темы
Ворнинги Android Lint и Detekt в GitHub PR

- В GitHub появилась фича code scanning – возможность выводить ворнинги и ошибки CI в комментарии к PR без использования ботов и сторонних инструментов
- Для этого надо сгенерировать специальный файл с отчетом и загрузить его с помощью GitHub Action
- В статье разбирается, как сгенерировать такой файл для Android Lint и Detekt
Новая Android Studio Canary – Flamingo

- Flamingo работает поверх IntelliJ Platform 2022.2.1
- В ней исправлено много багов, связанных с импортом КММ проектов
- Одна из ключевых фичей – Compose Composition Tracing, интеграция composables с system trace profiler
- Полный список исправлений
Различия в расчете corner radius в Android и iOS

- Если в Android выставить квадрату шириной 40dp corner radius 30dp, то он будет выглядеть в точности, как corner radius 20dp
- В iOS такого не происходит, и с повышением значения corner radius форма квадрата продолжает меняться
- Так происходит потому, что в Android есть внутреннее ограничение на то, что corner radius не может быть больше, чем половина самой короткой стороны фигуры. В iOS такого ограничения нет.
Koreography – Kotlin DSL для описания серии анимаций

- Koreography позволяет определять блоки последовательных и параллельных Compose анимаций
- Под капотом все работает на корутинах
Опыт работы с Compose for iOS

- TouchLab написали приложение для Droidcon, пошарив весь код между iOS и Android с помощью KMM и Compose
- Compose for iOS еще совсем-совсем сырой, но критичных проблем команда не встретила
Shape Composer – Figma плагин для экспорта векторных изображений в Compose Paths

- Плагин позволяет экспортировать векторные формы в Compose Shapes и Paths
- Это удобно, чтобы быстро генерировать нужные классы для кастомных кнопок и форм
Релиз Kotlin 1.7.20

- K2 компилятор стал ближе к стабильному релизу: завезли поддержку all-open, noarg, SAM, Lombok, AtomicFU и других компиляторных плагинов
- Новая модель управления памятью в Kotlin/Native включена по умолчанию
- Превью нового оператора для ренджей: ..<
- Generic inline классы в Kotlin/JVM
- Поддержка Gradle 7.1
Disposability, Testability, Readability

Разбор трех важных характеристик кода и принципов следования им:

🗑Disposability: готовность к изменениям требований
🐞Testability: возможность покрытия unit и integration тестами
👀Readability: простота для понимания
Видео Droidcon NY 2022

Все видео недавнего Droidcon появились в открытом доступе. Вот что точно стоит посмотреть:
🧬Demistifying Molecule
🤐Dynamic Code with Zipline
🧭Model-Driven Navigation with Compose
🐉Kotlin Adoption in the Giant Java Application (Meta)
🧱Keeping Your Team’s Gradle Builds in Shape
Мутационное тестирование в Kotlin

Мутационное тестирование – это техника, которая позволяет оценить качество ваших тестов. В чем суть – библиотека автоматически меняет что-то в вашем коде, а затем проверяет, среагировали ли тесты на это изменение.

Автор статьи рассказывает, как завести мутационное тестирование для Kotlin кода с помощью библиотеки PIT Mutation Testing.
Поддержка Compose в Glide

- Glide – популярная библиотека для загрузки изображений с фокусом на перфоманс
- В последнем релизе библиотеки появилась экспериментальная интеграция с Compose
- Пример использования можно посмотреть в семпловом приложении
Как писать плагины для дебаггера Flipper

- Flipper – дебаггер для мобильных приложений, разрабатываемый в Meta. Его главная фишка – расширяемость через плагины
- Плагины включают в себя клиентскую часть и модификацию десктоп приложения
- Пример такого плагина – вывод всех отправляемых приложением событий аналитики в удобную таблицу с фильтрацией и сортировкой
Gradle Analytics Plugin

Gradle Analytics Plugin – плагин, генерирующий много различной аналитики по вашему билду:
Время выполнения фаз билда
📊Количество файлов, строк кода и тестовое покрытие в разрезе по модулям
🧱Cache hit rate
🏎Parallel execution rate
🌳Граф зависимости модулей друг от друга
🔥Heatmap по частоте сборки отдельных модулей за определенный период времени
Nullability в Java и Kotlin

Команда Kotlin опубликовала новый гайд в документации, который подробно объясняет различия в работе с nullability в Java и Kotlin на примере частых операций.