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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Вышел Gradle 7.6

- Поддержка Java 19
- Добавлена сильная типизация в блок JVM test suites, что улучшает IDE поддержку для Groovy и KTS
- Java Toolchain теперь можно скачивать из любых репозиториев
- Новый флаг —rerun, который можно использовать с любой таской
- Куча улучшений в Configuration Cache
Новая программа EAP Champions от команды Kotlin

- Перед каждым релизом Kotlin команда выпускает бета сборки. Это помогает собрать фидбэк о стабильности релиза и вовремя поправить критичные баги.
- Команде особенно важен фидбэк от разработчиков крупных проектов – именно там кроется значимая часть проблем.
- Если вы готовы регулярно тестировать EAP в своем рабочем проекте и делиться найденными ошибками, становитесь EAP чемпионом. Вам пришлют уникальную сувенирку, будут упоминать в блогпостах а, главное, быстро исправлять критичные для вашего проекта проблемы.
Gradle Version Catalogs

Недавно в Gradle появилась новая экспериментальная фича – Version Catalogs. С ее помощью можно централизованно управлять версиями зависимостей в многомодульных проектах, объявляя их в специальном *.toml файле.
Рисуем текст на канвасе с Compose 1.3.0

- В Compose 1.3.0 появился удобный API для рисования текста на канвасе – DrawScope.drawText().
- В статье разбираются все способы рисования текста и различные кастомизации.
Как подключить Per-App Language Preferences в свое приложение

- Per-App Language Preferences – новая фича Android 13, которая позволяет определять язык не для всей системы, а гибко настраивать его для отдельных приложений.
- В настройках языка появляются только те приложения, которые в явном виде настроили эту фичу.
- В статье дается инструкция по настройке фичи и миграции данных пользователей более старых версий Android.
Скидки на плейлисты Podlodka Crew

Мы с командой запустили распродажу всех плейлистов Подлодки под Черную пятницу. Скидка накопительная, больше плейлистов – больше скидон. Вот несколько особенно крутых, которые рекомендую вам посмотреть:

🧱Android Crew 9 – Advanced архитектура: модуляризация, навигация, Compose
🤯Android Crew 8 – Android под капотом
🎨Android Crew 3 – Алгоритмы и работа с UI

Я опоздал рассказать вам про акцию, поэтому лучше поспешить – мы закроем ее уже завтра.

👉Магазин плейлистов
CameraViewFinder – новый способ работать с превью камеры

В CameraX появился новый класс – CameraViewFinder. С его помощью можно быстро реализовывать превью видеопотока с камеры устройства, которое будет автоматически адаптироваться под изменения контекста – смену ориентации, изменения инсетов, получение доступа к камере другим приложением.
Команда Тинькофф ищет Android-разработчиков 💡

Большое комьюнити мобильных разработчиков Тинькофф решает крутые задачи — создает высоконагруженные сервисы для 27 миллионов клиентов, экспериментирует и ищет новые решения. Приглашает в команду Android-разработчиков с опытом от трех лет

Работать с Тинькофф значит:

— не ограничивать свои скиллы и вводить в сервисы новые фичи;
— делать жизнь миллионов людей удобнее и технологичней;
— расти в грейде по скиллам, а не по стажу в компании;
— становиться заметным в комьюнити Android-разработчиков.

А еще команда всегда «за» действительно комфортную работу. Поэтому большинство бытовых забот делегируют компании: от расширенного ДМС и юридической помощи до питания и разных активностей.

Откликнуться и узнать подробнее о команде Android-разработчиков Тинькофф: https://l.tinkoff.ru/mobile-prof
Генерация Baseline Profiles с помощью GitHub Actions

Самая сложная часть работы с baseline profiles – их генерация. В статье лежит гайд по тому, как можно быстро настроить генерацию профиля для своего проекта на базе GitHub Actions.
Тред иконок приложений, сгенерированных Midjourney

Прогресс нейронок, генерирующих иллюстрации, сделал более доступными и красивые иконки для ваших пет-проектов. Посмотрите, какая красота получается!
📌 ВКонтакте привлекает разработчиков к созданию мини-приложений

Команда регулярно проводит конкурсы вроде VK Fresh Code, которые помогают найти лучшие ИТ-продукты и привлечь к развитию платформы талантливых разработчиков. В недавнем этапе выиграли 25 мини-приложений на базе платформы VK Mini Apps на разные тематики, а их создатели получили гранты из призового фонда в 4,5 миллиона рублей. Поучаствовать в конкурсе могут как отдельные разработчики, так и команды.
Обновился роадмап Kotlin

Основной фокус на четырех больших проектах:
1️⃣Релиз стабильного K2 компилятора
2️⃣Релиз нового плагина для IDE на базе K2
3️⃣Стабильный релиз KMM
4️⃣Улучшение жизни авторов библиотек

Подборка интересных фичей и планов:
💣Общий тикет с планами по всем новым языковым фичам и экспериментам
💣Детальные планы по тому, что будет стабилизировано в КММ
💣Первый релиз К2 IDE будет включать в себя только часть фичей старого плагина
💣.gradle.kts планируют сделать дефолтным для всей экосистемы вместо Groovy
💣Новый Gradle DSL для конфигурации компиляторных аргументов
💣Плагин для IDE, который позволит работать с Kotlin в стиле датасаенсовых ноутбуков
💣Много улучшений в KDoc
💣Большой гайд по дизайну API и обеспечению обратной совместимости для авторов библиотек
💣Поддержка Base64 и Hex в stdlib

Голосуйте за самые интересные тикеты, задавайте в комментариях к ним вопросы и обратную связь!
Remote Development в Uber

Отличная статья для тех, кто любит читать, как решаются проблемы в огромных командах разработки. После переезда всех сервисов и приложений Uber в монорепозиторий заметно просела скорость сборки и сложность поднятия локального окружения. Чтобы решить проблему, команда реализовала возможность быстрого поднятия контейнера с преднастроенным рабочим окружением, к которому можно коннектиться с помощью remote development фичей IntelliJ и VSCode.

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

var enabled by remember { mutableStateOf(true) }

☁️mutableStateOf(true) создает объект типа MutableState<Boolean>, который содержит сам стейт
☁️Функция remember говорит фреймворку о том, что выполнять лямбду при каждой рекомпозиции не нужно
☁️Ключевое слово by позволяет работать с переменной enabled как с Boolean

Статья начинается с разбора того, как именно определяется стейт, а затем уходит в детали:

🧷Что будет, если опустить что-то из перечисленных выше шагов
🧷Чем отличаются stateful и stateless composables, и когда стейт нужен
🧷Почему TextInput должен быть stateful
🧷Работа со стейтом во ViewModel
🧷Представление стейта с помощью Flow, rxJava и LiveData
У Сбера появилась платформа для разработчиков html-игр.

Здесь каждый может не только получить новый канал продвижения, но и монетизировать свои разработки — достаточно адаптировать игру под пульт, загрузить в каталог хостинга Сбера и начать зарабатывать на in-app покупках и рекламных интеграциях.

Для геймдевелоперов у Сбера действует ежемесячная программа мотивации.

Все подробности здесь
Как устроен и работает Kotlin DSL для описания конфига GitHub Actions

Автор проекта github-workflows-kt рассказывает о том, как настрадался с описанием конфигурации CI с помощью YAML и решил переписать все на Kotlin DSL.

Самое интересное в статье – то, как автор подошел к вопросам дизайна, выделял основные сущности и исправлял проблемы большого количества дублирующихся сущностей в YAML.