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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Google открыл доступ к API для получения данных Android Vitals. Из идей, как его можно использовать:
💡Поднять свой кастомный дэшборд про качество приложения, добавив туда данные из багтрекера, саппорта и аналитики
💡Настроить алерты в мессенджере по изменению нужных вам метрик
💡Залить данные в DWH, чтобы использовать их при проверке будущих продуктовых гипотез

Документация API
Merge queue – это практика работы с Git, которая облегчает жизнь с большим количеством веток, в которых меняются одни и те же файлы.

В чем суть проблемы – у вас может в один и тот же момент времени висеть сразу несколько веток с зелеными тестами относительно текущего состояния main. Но как только одна из веток будет слита, все остальные станут красными.

Merge queue решает проблему следующим образом. Все PR попадают в единую очередь. Валидность кода в PR проверяется относительно main, в который будут слиты все предыдущие ветки из очереди. Если PR остается зеленым, то он сольется автоматически. Если нет – то либо заблокирует очередь, либо будет автоматически выкинут из нее.
Android разработчик, разрабатывающий приложения на Compose, попробовал SwiftUI и написал хороший пост со сравнением двух фреймворков. Отличий не очень много, но в целом разрабатывать под SwiftUI проще, так как он заточен под одну конкретную платформу.
Твиттер-тред с обзором правил для ktlint, которые помогают большой команде писать единообразный код на Compose и не стрелять себе в ногу.
Новая часть цикла статей от CashApp про сравнение RxJava и корутин. В этот раз разбираются Shared Flows.
Команда DoorDash используют Kotlin для разработки микросервисов. Одна из причин, по которым они предпочли Kotlin Python’у – богатые возможности для функционального программирования. В этом посте они закапываются в детали того, как конкретно они пишут функциональный код на Kotlin.
Разбор того, как работает kotlin-parcelize, и как можно вмешаться в этот процесс, чтобы уменьшить объем сгенерированного кода.
Вышел Kotlin 1.6.20! Из ключевых фич:
📌Прототип контекстных ресиверов
📌Definitely non-nullable types
📌Возможность параллельной компиляции в рамках одного JVM модуля
📌Инкрементальная компиляция в новом JS IR бэкенде
📌26% ускорение компиляции Native бинарников
Хороший разбор того, как фронтенд компилятора Kotlin парсит код и строит из него PSI дерево. А тем временем напоминаю, что работы над новым фронтендом сейчас в самом разгаре!
Команда Dropbox выпустила Focus – Gradle-плагин, который генерирует settings.gradle файл под каждый конкретный модуль, что позволяет не загружать лишние зависимости и ускоряет время синка проекта. Авторы рассказывают, что для их команды в части кейсов время синка срезалось с 2 минут до 20 секунд.
Семафоры – многопоточные примитивы, которые позволяют определять число потоков, которое может получить доступ к определенному блоку кода. В статье рассказывается, как использование семафора может помочь при работе с корутинами.
Твиттер-тред про то, как к Gradle плагину можно подключить библиотеку, написанную на Swift и работающую с Foundation. Из интересного – работа с библиотекой ведется через JNA, более простую альтернативу JNI.
Qiwi рассказывают про свой опыт работы с KMM, на котором они реализовали сетевой слой и view models. Если вы еще только присматриваетесь к КММ, то кейс ребят может вас вдохновить.
Представьте себе прямую, описываемую функцией y=mx+b. Параметр b показывает, насколько далеко от 0 находится место пересечения оси Y, а m – угол наклона. Это – удобная ментальная модель, чтобы оценивать сложность использования различных библиотек, где b – сложность первого старта, m – сложность, возникающая при усложнении кейсов использования.

Джейк Уортон написал статью, в которой прикладывает эту модель к библиотекам Picasso, Retrofit и Dagger, и рассуждает, как ее использовать при создании новой библиотеки.
Системная статья про то, как в Compose работают сайд эффекты, каких антипаттернов стоит остерегаться, и как в них работать со сторонними зависимостями.
Недавно команда Square увидела, что на эмуляторах с API 23 резко вырос объем памяти, потребляемой на CI библиотекой LeakCanary. Прочитайте статью с расследованием причин проблемы и разбором нюансов работы сборщика мусора.