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

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

Размещение рекламы: @tanyasanovna
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Пошаговая реализация Dynamic Island на Compose

Dynamic Island из iOS – спорный с точки зрения UX, но интересный с точки зрения реализации нестандартного UI компонент. Если вы ищете, на каких примерах потренироваться с анимациями на Compose, то как раз отлично подойдет.
3 причины стать мобильным разработчиком на Android

1. Реализовать идеи
Счётчик просмотренных фильмов или управление светом в холодильнике? Приложение можно создать под любую задачу, на любом компьютере, для разных устройств и брендов.

2. «Пощупать» результат
70% людей в мире, у которых есть смартфон, пользуются Android. Разработчики улучшают жизнь людей и видят отклик: всегда можно протестировать приложение на своём устройстве или почитать отзывы в магазине.

3. Зарабатывать
По данным Хабр Карьеры, начинающие Android-разработчики получают от 40 000 ₽ в месяц, а опытные уровня middle — от 120 000 ₽. Часто разработчики работают удалённо.

Если хотите попробовать себя в этой профессии, начните бесплатную вводную часть курса по Android-разработке. Она делится на два уровня: начальный и для более подготовленных. Вы с первого урока учитесь на реальных задачах и погружаетесь в рабочую среду.

Познакомьтесь с языками Java и Kotlin, напишите своё первое приложение бесплатно
Обновленные данные Android's Platform Distribution

6 января Google обновил данные по распределению используемых версий Android. Теперь можно посмотреть, какой процент пользователей сидит на Android 13 – пока это 5%.
Scaffold в Jetpack Compose

- Scaffold – особый тип composeable, который выступает родительским элементом для всех остальных и задает основной лэйаут.
- Его основные задачи – выделять место для системных элементов вроде Top/Bottom Bars и FloatingActionButton, и автоматически применять цвета выбранной темы к бэкграунду.
- Есть несколько разных типов Scaffold. Например, BottomSheetScaffold или BackdropScaffold, которые приложены скринами к посту.
- Scaffold не обязателен для использования, и его функциональность можно реализовать вручную.
Как работает Gradle

Команда Gradle начала новую серию постов про разные интересные детали того, как работает билд тулинг. В первом посте разбирается, чем отличаются разные способы запуска билда и что происходит в каждый момент под капотом.
Бесплатные вебинары от Gradle

Только блогом активность Gradle не ограничивается. В январе пройдет несколько интересных вебинаров, которые открыты всем для участия:

📆Воркшоп по ускорению билдов и траблшутингу, 24 января
📆Интервью Николая Красько, тимлида инфраструктурной команды в Kotlin, про то, как оптимизируется опыт разработчиков внутри команды Kotlin, 25 января
📆Воркшоп по разным аспектам конфигурации Gradle с помощью Kotlin DSL, 26 января
📆Deep dive в Maven Build Cache, 31 января
Как Lyft собирает метрики потребления памяти в проде

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

В статье рассказывается о метриках, по которым можно судить о потреблении памяти, границах их применимости, особенностях сбора и анализа.
Релиз compose.compiler 1.4.0

Вышла новая версия androidx.compose.compiler с поддержкой Kotlin 1.8.0. Промежутки между релизами Kotlin и совместимой версии Compose становятся все меньше, это радует!
Как работает 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, и сравнивать их друг с другом очень интересно.