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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Как работает Activity

Цикл из двух статей, в которых разбирается, как стартует процесс приложения и все Activity, как показывается сплеш-скрин, в чем суть концепции Window, как вызываются методы жизненных циклов Activity и что происходит с Activity при сворачивании и разворачивании.
Роадмап Koin на 2023

Koin переходит на шестимесячный релизный цикл, синхронизированный с Kotlin. Основные планы (H1 – первый мажорный релиз, H2 – второй):

*️⃣KMM Compose API (H1/H2)
*️⃣Улучшения Koin Annotations (H1/H2)
*️⃣Оптимизация кишков (H2)
*️⃣Бридж с iOS и Kotlin Native (H1/H2)
*️⃣DSL и аннотации для Graph Test API (H2)
*️⃣Поддержка новых фичей Ktor (H1/H2)
Всем привет! Мы в команде Kotlin очень хотим пообщаться с теми, кто активно разрабатывает проекты на Flutter или React Native. Или, наоборот, попробовал, а потом вернулся к нативной разработке. Если готовы созвониться, рассказать про свой опыт и поотвечать на наши вопросы – заполняйте форму, за участие в интервью отсыпаем всяких ништяков.

Важный момент – эти ништяки мы отсыпать можем только тем, кто находится не в России/Беларуси, поэтому стоит отзываться, только если вы сейчас находитесь за пределами.
Зачем нужен тип Either в ArrowKt

Arrow.Kt – библиотека, которая дает кучу типов и абстракций, которые помогают писать на Kotlin в функциональном стиле. Один из ее типов – Either. Он может содержать в себе значения одного из двух явно указанных типов. Самый стандартный юзкейс для него – быть одновременно и типом данных, представляющим успешный ответ сервера, и типом, представляющим ошибку с деталями.
Новый UI доступен в Android Studio

В Android Studio Giraffe Canary 2 появилась возможность включить новый UI. Пробуйте и рассказывайте в комментах, что удобно, а что – не очень.
dependency-guard – плагин для контроля зависимостей

В большой команде периодически возникают проблемы с изменением версий или добавлением зависимостей. Можно случайно добавить в продакшн тестовую зависимость, или вызвать креш в рантайме из-за поднятой версии какой-то из транзитивных зависимостей. Gradle-плагин dependency-guard позволяет это контролировать.

Он генерирует файл, содержащий явный список всех транзитивных зависимостей и их версий, что дает возможность следить за изменениями на PR и составлять черные списки библиотек.
Профилирование и оптимизация Compose

Разбор возможных проблем, которые могут повлечь за собой лишние рекомпозиции и ухудшить перфоманс Compose, и инструментов, которые помогают в дебаге.
Сериализация sealed interfaces с kotlinx.serialization

В статье разбирается, как с помощью поддержки полиморфизма в kotlinx.serialization можно написать сериализатор, выюирающий разные классы в зависимости от значения поля type.
Что происходит со Scala

На этой неделе вышел топовый пост про текущее состояние Scala, ее проблемы и возможные пути будущего развития. Очень советую даже тем, кто со Scala совсем не имеет дела – путь, выбранный языком, сильно отличается от Kotlin, и сравнивать их друг с другом очень интересно.
Совместимость библиотек и binary-compatibility-validator

В статье разбирается несколько типов совместимости, о которых должны думать авторы библиотек: backward/forward и source/binary compatibility. А для того, чтобы авторы библиотек случайно ломали binary совместимость, есть binary-compatibility-validator.
Релиз Kotlin 1.8.10

Вышла патч-версия для последнего мажорного релиза Kotlin с исправлениями багов в новом фронтенде, serialization плагине, Gradle и Kapt.
Планы Kotlin по улучшению опыта авторов библиотек

Опыт авторов библиотек – один из приоритетов команды Kotlin на ближайший год. В частности, планируется сделать следующее:

✍️Улучшить синтаксис и тулинг для KDoc
🗒️Выпустить стабильную Dokka
📚Написать подробный гайд с лучшими практиками по дизайну JVM и мультиплатформенных библиотек
Как Square оптимизировал время билда

Команды Square подбивает итоги последнего года работы команды, которая занималась оптимизацией Gradle билда. Основная идея – даже для очень больших проектов можно оптимизировать работу Gradle настолько, чтобы сделать миграцию на Bazel или другую новую билд-систему бессмысленной.
Релиз Compose Multiplatform 1.3.0

Вышел новый релиз мультиплатформенного Compose, в котором поправили баги, подтянули версии используемых зависимостей до актуальных, и завезли несколько новых фичей для Compose Desktop.
Вышла первая Beta версия Kotlin 1.8.20

🕸️Kotlin/Wasm официально вышел в статус Experimental, с поддержкой в stdlib и kotlin.test. Код, скомпилированный Kotlin/Wasm, будет запускаться в последних версиях Chrome, Firefox и Edge со специальным включенным флагом.
🏎️Новая инкременталка для Kotlin/JVM включена по дефолту.
☠️Задепрекейчена часть таргетов Kotlin/Native. Детали описаны в отдельном блогпосте.
🧱В мультиплатформу завезли поддержку Gradle Composite Builds.
🤩В стандартной библиотеке появилась экспериментальная поддержка Base64 и common Closeable интерфейса.

А самое главное – заспойлерили, что один из следующих мажорных релизов будет называться Kotlin 2.0!
Релиз Decompose 1.0.0

Вышел первый стабильный релиз библиотеки Decompose, мулььиплатформенной библиотеки для организации роутинга в приложении. Основные изменения в релизе:

*️⃣Поддержка последних версий Kotlin и Compose
*️⃣Стабилизированы Generic Navigation и Stack Animation API
*️⃣Новый способ интеграции рутового компонента во фрагменты
Цвета и цветовые пространства

Вы красите кнопки, но делаете это без уважения к цветам. Чтобы исправить ситуацию, мы записали выпуск Подлодки про то, что такое цвета, какие бывают цветовые пространства и чем они различаются, как они выглядят в картинках и градиентах и как отображаются на экранах.

Вдогонку – хорошая статья за авторством гостя про историю развития цвета в CSS и новый формат OLKCH.
Кастомизация нативного Share Sheet

Если вам раньше не хватало возможностей кастомизации нативного диалога шаринга, посмотрите на него еще раз – за последние годы его существенно подкрутили. В статье показывают, как, например, можно задавать свой кастомный текст, который будет шариться, или трекать в аналитику, шаринг в какие приложения используется чаще всего.
Weekend Offer для ML- и мобильных разработчиков от VK

Мероприятие состоится уже на этих выходных, 18–19 февраля. Успевайте откликнуться до 16 февраля, чтобы познакомиться с командами, узнать больше о продуктах VK и получить шанс попасть в одну из команд (Дзен, Почта Mail.ru, Антиспам и Маруся) за два дня.

Кстати, ML Дзена ищет в свою команду и Java-разработчиков.