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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Контекстные ресиверы – это новая языковая фича, прототип которой был выпущен в Kotlin 1.6.20. С ее помощью можно неявно передавать в функцию дополнительные параметры. В статье разбирается пример того, как контекстные ресиверы помогают сделать запутанную бизнес-логику более понятной и корректной.
Недавно вышел Koin 3.2. Разработчики начали публиковать серию статей с обзором основных фичей в релизе:
🆕Новый DSL, основанный на конструкторах
📥Module Includes, позволяющая выстраивать граф модулей и оптимизировать загрузку его веток
В продолжение тем недавних релизов. Apollo Kotlin (бывший Apollo Android), рассказывают про историю разработки двух ключевых фичей релиза – полного перехода на Kotlin Multiplatform и переезда с фрагментов GraphQL на интерфейсы.
Обзор обновленных инструментов в Android Studio Chipmunk, которые помогают находить и исправлять визуальные глитчи, связанные с пропущенными фреймами при отрисовке.
В EAP билдах Java 19 появилась поддержка давно ожидаемого Project Loom – многопоточность на виртуальных тредах, которые можно создавать в миллионных количествах. В статье подробно рассказывается про то, как работать с такими виртуальными тредами, и какой перфоманс получается на выходе.
Разработка Юлы – канал, созданный командой Юлы, проект VK. Ребята-разработчики делятся своим опытом и материалами по микросервисной архитектуре и особенностям бэкенд-разработки, продуктовой аналитике и автоматизации тестирования. В канале вы найдете анонсы конференций, митапов и записи выступлений. Подписывайтесь, полезно и интересно.
Android разработчик рассказывает, как получил офферы на staff инженера в три крупные компании: Uber, Snap и Pinterest. Помимо общего алгоритма подготовки, автор делится кучей дополнительных ссылок по теме. Если подумываете пойти по собесам – рекомендую.
Вышло июньское обновление публичного роадмапа Kotlin! В каждом из 50 тикетов есть детали про полученные за последние время результаты и следующие планы команды. Голосуйте за самые важные и оставляйте свой фидбэк в комментариях.

Из самого интересного:
📌Новый оператор `..<` на замену `until`
📌Подробный план выхода K2 компилятора в Beta
📌Стабилизация klib формата для мультиплатформенных библиотек
📌Поддержка парсинга и форматирования дат в kotlinx-datetime
Если у вас есть несколько build.gradle.kts файлов с повторяющимся кодом, то вот заметка про то, как организовать его реюз – то, что для Groovy делалось легко, для Kotlin Script требует нескольких хаков.
Uber рассказывают, как они используют ApplicationExitInfo API, чтобы детектить Application Not Responding события. По сравнению с другими способами, таким образом получается детектить больше ANR и получать полную информацию о стектрейсах.
И еще про Uber. Смотрите, как выглядит их ферма из сотен Pixel девайсов. Она используется для всех видов тестирования – ручного, автотестов, перфоманса.
Антипаттерны в работе с ViewModel events и рекомендации по тому, как делать правильно. Основная идея – такие события надо обрабатывать сразу же и записывать их в стейт, на обновления которого подписана View. Другие способы прокидывания событий – например, Kotlin Channels, не гарантируют их обработки.
Выход Kotlin Multiplatform Mobile в Beta переезжает с весны на осень. Основная причина – новый подход к управлению памятью еще не готов к тому, чтобы быть включенным во всех проектах по умолчанию. Помимо этого в посте рассказывается про:
🧑‍⚕️KDoctor – CLI утилиту, которая настраивает окружение для KMM
🧱Новые версии Xcode-Kotlin плагина и архитектурных компонентов MOKO MVVM
🇨🇳Кейс Baidu, которые заадоптили KMM у себя
В открытый доступ вышли все доклады конференции Android Makers 2022. Из того, что точно надо смотреть:
📹Creating a UI toolkit from scratch от Chet Haase и Romain Guy
📹Improve build times in less time от Zac Sweers
📹Untangling coroutine testing от Marton Braun