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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Новогодние праздники – идеальное время, чтобы наконец-то познакомиться с KMM. Ловите твиттер-тред с отличной подборкой семплов, гайдов и советов по использованию технологии.
https://twitter.com/kotlin/status/1474309782169432067?s=21
Твиттер-тред с советами по измерению скорости навигации в приложении от инженера из Square.
https://twitter.com/piwai/status/1462492869160103938?s=21
Про использование WorkManager для запуска задач в отдельных процессах на примере библиотеки LeakCanary.
https://py.hashnode.dev/workmanager-multi-process-for-libraries
Jetpack Compose позволяет довольно просто реализовать серверсайд-рендеринг на JSON’ах.
https://medium.com/mobile-app-development-publication/jetpack-compose-enables-json-defined-view-layout-b1f8a0d5df8c
Недавно в Gradle появилась поддержка text fixtures. специального типа зависимости, который позволяет переиспользовать тестовые хелперы в разных модулях проекта. В статье рассказывается про ограничения этой фичи и то, как завести ее на своем проекте.
https://emartynov.medium.com/android-gradle-plugin-with-test-fixtures-support-411383320980
Вышел Moshi-IR – компиляторный плагин для Moshi, заменяющий кодогенерацию с помощью Kapt/KSP. Билдитсч быстрее, нет рефлексии, лучше сообщения об ошибках. Больше деталей и ссылка на гитхаб – в треде.
https://twitter.com/zacsweers/status/1479166647839690753
Используете мультиплатформу? Пора проходить очередной опрос от команды Котлина! Делитесь своим опытом, рассказывайте о болях, и мы обязательно их поправим.
https://kotl.in/multiplatform-survey-winter-22
Доклад про то, как в Twitter используется Compose, как в целом устроена архитектура их UI слоя, как происходил адопшн технологии и с какими проблемами команда столкнулась на масштабе.
https://youtu.be/ujC_YkZMEqg
Обновился официальный гайд по тому, как правильно процессить данные в бэкграунде. Если кратко, то рекомендуется использовать WorkManager для персистентных задач и корутины для всего, что не требует хранения данных.
https://goo.gle/background-guide
Команда мобильной разработки Slack поделилась историей масштабного рефакторинга своих мобильных приложений, получившего название «Дупло». По ссылке – первая часть цикла, в которой команда рассказывает про историю развития их архитектуры, цели рефакторинга и выбранные метрики. Если вы тоже работаете над проектом с огромной легаси кодовой базой, обязательно прочитайте!
https://slack.engineering/stabilize-modularize-modernize-scaling-slacks-mobile-codebases/
Сборник законов и принципов разработки софта, с каждым из которых стоит быть знакомым в том числе при разработке iOS приложений.
Несколько примеров:
- Закон Конвея. Архитектура системы отражается в структуре организации, которая ее разрабатывает.
- Закон Галла. Любая работающая сложная система начиналась с другой работающей системы меньшей сложности. Иначе говоря, сложные системы, задизайненные с нуля, обречены на провал.
- Закон Хайрума. Не важно, что вы обещаете в контрактах своего API – при достаточном количестве пользователей, кто-то будет зависеть от всех его свойств, даже не явных и приватных.
https://github.com/dwmkerr/hacker-laws
Кстати, Костя Цховребов запилил классную штуку – web-визард для создания Kotlin Multiplatform проектов. Выбираете нужные платформы, библиотеки и версию языка – и проект готов!
https://terrakok.github.io/kmp-web-wizard/
Новая часть цикла статей про корутины. На этот раз разбирается механизм Jobs, их жизненный цикл и то, как в него встраивается обработка исключений. Помимо общей теории есть много конкретных примеров и разбор эдж кейсов.
https://maxkim.eu/things-every-kotlin-developer-should-know-about-coroutines-part-4-exception-handling
Если вы работете с Flow, то обязательно посмотрите на библиотеку turbine от cashapp. Она позволяет очень просто писать тесты – достаточно просто вызвать .test на флоу и вызвать нужные ассерты.
https://github.com/cashapp/turbine
19 и 20 января в 20:00 в OTUS пройдет 2-дневный интенсив по мобильной разработке «Flutter engine, анимация и ее оптимизация».

✔️ Рассмотрим самые глубокие механизмы Flutter engine.
✔️ Научимся создавать сложные и плавные анимации как на мобильных платформах, так и на веб.
✔️ Научимся использовать инструменты профилирования для исключения «замерзания» интерфейса.
✔️ Обсудим тему использования WebGL в веб-приложениях на Flutter для создания трехмерных сцен.

Интенсив бесплатный и позволяет протестировать обучение на онлайн-курсе «Flutter Mobile Developer» от OTUS. Программа подойдет тем, у кого уже есть опыт в программировании. Для записи на интенсив пройдите вступительный тест.

👉 Регистрация на 1-й день интенсива: https://otus.pw/YXYb/
👉 Регистрация на 2-й день интенсива: https://otus.pw/aYbn/