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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Твиттер-тред с обзором правил для 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. Прочитайте статью с расследованием причин проблемы и разбором нюансов работы сборщика мусора.
Kotlin Multiplatform отлично подходит для разработки DSL. Держите пример того, как с его помощью решили задачу генерации SVG на бэкенде и фронтенде.
Продолжение цикла статей про structured concurrency. В этой части разбирается обработка ошибок:
📌Обработка исключений внутри coroutine scope
📌Обработка не фатальных ошибок с помощью supervisorScope
📌
Отмена корутин
Туториал по созданию переиспользуемого Compose компонента с анимацией на канвасе.
Теория разбитых окон гласит – чем больше мелких правонарушений происходит, тем больше вероятность того, что начнут происходить и крупные. Держите небольшое эссе, в котором разбирается, как эта теория может быть применена к разработке софта.