Size: a a a

Android Good Reads

2022 January 21
Android Good Reads
Работа с контактами в Android никогда не была простой. На днях вышла Kotlin-first библиотека, которая скрывает за собой всю сложность работы с ContactsProvider.
https://github.com/vestrel00/contacts-android
источник
2022 January 22
Android Good Reads
Новый выпуск Android Developers Backstage подкаста. В этот раз ребята из Google обсуждают недавно обновленные архитектурные гайдлайны, которые вызвали немало шума.
https://adbackstage.libsyn.com/episode-181-architecture-fewer-bugs-at-the-end
источник
2022 January 23
Android Good Reads
С приходом Compose дизайн-системы получают второе рождение, потому что создавать новые и расширять существующие компоненты стало проще. Автор статьи приводит пример создания простой дизайн-системы поверх Material UI. Отталкиваясь от него, сможете затащить похожий подход и в свои проекты.
https://proandroiddev.com/building-design-system-with-jetpack-compose-1208c250ae75
источник
2022 January 24
Android Good Reads
Как только ваш проект и команда вокруг него начинают расти, вы все чаще слышите недовольство про растущее время билда. Первый шаг на пути к его исправлению – научиться его измерять и мониторить ситуацию. Square делятся своим опытом измерения билдтайма как на CI, так и на машинах отдельных разработчиков.
https://developer.squareup.com/blog/measure-measure-measure/
источник
Android Good Reads
Продолжим тему скорости билда. Кирилл Розов собрал бенчмарк по скорости сборки Android проектов на различных машинах. Обязательно посмотрите на результаты перед тем, как выбирать себе новый макбук.
https://habr.com/ru/company/surfstudio/blog/646677/
источник
Android Good Reads
А вот и обновленные бенчмарки от Square, прямо сегодня приехали!
https://twitter.com/vrallev/status/1485430589339492352?s=21
источник
2022 January 25
Android Good Reads
Kotlin scripting дает возможность определять собственные типы скриптов со своим синтаксисом. Вы реализуете хост, который умеет разбирать такой скрипт, встраиваете его в свое приложение, и оно становится способно исполнять скрипты на лету. Это очень удобно для создания всяких штук вроде игровых движков или билд-систем. Одной из главных проблем скриптинга на Kotlin в целом долгое время было отсутствие нормальной документации. И она наконец-то решилась – держите официальный гайд про то, как работать со скриптами с кастомными типами.
https://kotlinlang.org/docs/custom-script-deps-tutorial.html
источник
2022 January 26
Android Good Reads
Google выпустили новый гайд по работе с Baseline Profiles. Настройка этих профилей позволяет добиться нехилого прироста в скорости старта приложения или рендеринга отдельных критичных для пользователя штук.
https://developer.android.com/studio/profile/baselineprofiles
источник
2022 January 27
Android Good Reads
Недавно Google выпустил гайд по тому, как правильно подходить к архитектуре UI слоя. Держите хорошую статью с обзором сильных и слабых сторон этих рекомендаций. И помните, что архитектура должна в первую очередь не соответствовать написанным кем-то универсальным правилам, а решать ваши специфичные задачи.
https://www.droidcon.com/2022/01/14/sending-viewmodel-events-to-the-ui-in-android/
источник
2022 January 28
Android Good Reads
Вместе с релизом Kotlin 1.6 был представлен новый Gradle-плагин Kover, измеряющий тестовое покрытие Kotlin кода. Он все еще экспериментальный, но в целом его спокойно можно использовать в своих проектах. Держите статью с хорошим обзором его интеграции с проектом и GitHub Actions.
https://lengrand.fr/kover-code-coverage-plugin-for-kotlin/
источник
Android Good Reads
А раз уж мы заговорили про GitHub Actions, то вот вам еще один классный инструмент, который позволяет настраивать воркфлоу с помощью Kotlin DSL вместо YAML.
https://github.com/krzema12/github-actions-kotlin-dsl
источник
2022 January 29
Android Good Reads
Представьте, что вы разрабатываете библиотеку, которая под капотом работает с одним или несколькими сторонними сервисами. Например, GitHub или AirTable. Вы хотите спрятать от пользователя сложность взаимодействия с их API и дать ему простой интерфейс, но абстракция протекает из-за ошибок и исключений, которые могут генерироваться этими интеграциями. Держите статью про основанный на монадах подход, который позволяет аккуратно процессить эти исключения на уровне библиотеки.
https://www.cortex.io/post/how-we-expect-the-unexpected-in-kotlin
источник
2022 January 30
Android Good Reads
Большой гайд по организации certificate pinning с учетом разных версий Android.
https://www.guardsquare.com/blog/how-to-securely-implement-tls-certificate-checking-in-android-apps
источник
2022 January 31
Android Good Reads
В начале прошлой недели я шарил гайд по работе с Baseline Profiles. А тут и кейс-стади от Google Maps опубликовали, которые, благодаря этой фиче, ускорили время старта приложения на 30%. Кайф!
https://android-developers.googleblog.com/2022/01/improving-app-performance-with-baseline.html
источник
Android Good Reads
А вы занимаетесь оптимизацией времени запуска своего приложения?
Анонимный опрос
30%
Не оптимизируем
38%
Иногда оптимизируем, но сильно не заморачиваемся
12%
Регулярно оптимизируем и следим за изменениями
20%
Посмотреть результаты
Проголосовало: 467
источник
Android Good Reads
Спасибо всем, кто поучаствовал в недавнем опросе подписчиков! Как и обещал, среди участников провел розыгрыш билетов на Android Crew (их получают @mikhailzisman и @Froyder) и книги "Код: Тайный язык информатики" (она улетает @dosssik). И несколько интересных фактов из опроса:
👀 31% подписчиков – сеньоры, а 56% работают в IT больше четырех лет.
📖 Три самых запрашиваемых темы – Kotlin, архитектура и Tips&Tricks по разработке.
😞 Наименее интересная тема – кроссплатформа.

Всем победителям скоро напишу в личку, а всем остальным – много любви и благодарностей!
источник
2022 February 01
Android Good Reads
Отличный материал про использование профилировщика Perfetto для анализа того, что происходит и сколько времени занимает при выполнении каких-то действий с приложением. Помимо общей инструкции по использованию, разбирается как сделать отчет более читаемым с помощью логов.
https://py.hashnode.dev/tracing-main-thread-messages
источник
Android Good Reads
Задумались о переходе на Jetpack Compose? Тогда вам обязательно нужно попасть на новый сезон Podlodka Android Crew, который начинается 14 февраля! Всего за 5 дней вместе мы составим подробный пошаговый план перехода на Compose.

Вы узнаете как перевести UI приложения с XML и AppCompat на Compose, посмотрите на практические кейсы и набитые шишки экспертов, разберетесь с навигацией, анимацией, узнаете, как правильно сохранять состояние в приложении и всем, что необходимо для комфортного перехода. И все это в формате воркшопов с множеством кейсов-примеров, которые вы сразу сможете применять.

Всего на Podlodka Android Crew выступит больше 10 спикеров, среди которых Павел Стрельченко из HeadHunter Group, Антон Шилов и Андрей Шиков из Badoo и Алексей Гладков из Леруа Мерлен, Миша Левченко из Auto.ru.
Чтобы купить билет, заходите на наш сайт! Успейте купить пока действует специальное предложение для early-bird — только до 2 февраля! Ждем вас на борту!
источник
Android Good Reads
С февраля вам обязательно нужно заполнять «Google Data Safety Section» при обновлении приложения, и указывать, как вы работаете с пользовательскими данными. И если про свое приложение все относительно понятно, то со сторонними SDK могут возникнуть проблемы, особенно если в их документации пока нет ни слова про персональные данные. Держите поддерживаемый сообществом реестр информации про популярные библиотеки.
https://github.com/Privado-Inc/SDK-Privacy-Report
источник
2022 February 02
Android Good Reads
Основной сценарий использования Kotlin Multiplatform – это выделение какого-то компонента бизнес-логики в общий модуль, который затем шарится между платформами. С таким подходом хорошее тестовое покрытие становится важным вдвойне. Держите очень подробный гайд по тому, как подойти к тестированию мультиплатформенного модуля – разбираются и юнит-тесты, и контракты.
https://akjaw.com/testing-on-kotlin-multiplatform-and-strategy-to-speed-up-development/
источник