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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Совместимость библиотек и 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-разработчиков.
Кластеринг в Map Compose

- Год назад команда Android зарелизила библиотеку Map Compose для работы с картами.
- В ней нет встроенной поддержки кластеризации маркеров. Если вам она требуется, нужно бриджиться с библиотекой maps-util.
- Судя по коммитам в Map Compose, через какое-то время можно ожидать и нативную поддержку кластеров.
ЦВТ (ГК Девелоника) ищут Android-разработчика с опытом работы от 3-х лет

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

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

Локация поиска: вся Россия, удаленный формат работы.

Пиши @irinasunfunny , @Bastet_111 , @ivannamry , что ты от канала Android Good Reads и стань частью одной из продуктовых команд.
Как Reddit переезжали на Anvil

Дано: приложение на 500 модулей, активно использующее Dagger 2 и кастомный kapt процессор для борьбы с циклическими зависимостями. Команде не нравилось, что их DI сетап слишком сложный, онбордить новых людей в него трудно, а использование kapt существенно замедляет сборку.

Чтобы решить эти проблемы, проект перевели на работу с Anvil. В статье – история миграции, результаты и советы тем, кто решит повторить их путь.
Инспекции для переезда на Gradle Version Catalogs

Gradle Version Catalogs – новая фича Gradle, которая позволяет вынести объявление зависимостей и их версий в отдельный файл, переиспользовать его между несколькими проектами, объединять зависимости в бандлы и другими способами управлять их структурой.

Так вот, в Android Studio Giraffe появился набор новых инспекций, которые упростят переезд.
Weekend Offer для C++ и мобильных разработчиков от ВКонтакте

Мероприятие состоится 11–12 марта онлайн. Успевайте откликнуться до 9 марта включительно, чтобы познакомиться с командами. Помимо этого, вы сможете узнать больше о работе по каждому из трех направлений (Android, iOS и BackEnd) и получить шанс попасть в одну из 10 команд.
Поиски ресурс-менеджера пула мобильной разработки

Кто такой ресурс-менеджер?
— Лидер, который выстраивает работу в команде и создает атмосферу, где хочется двигаться вперед.
— Обеспечивает рост и развитие компетенций наших разработчиков, помогает в реализации проектов уровня РФ.

Какие навыки важны?
— Опыт в ИТ от 3-х лет. Это может быть разработчик, желающий попробовать себя в новой роли, или руководитель проектов, который хочет сменить вектор деятельности.
— Умение мотивировать команду, создавать новые и совершенствовать текущие процессы компании.
— Ожидается, что ты понимаешь специфику мобильной разработки, а если еще и заказной, то почему ты еще не на собеседовании?

Локации поиска: Москва, Санкт-Петербург, Екатеринбург, Ижевск, Самара, Ульяновск, Воронеж

Увидел в описании себя? Пиши @KhisamovaS и @Aiagovkina, что ты от канала Android Good Reads и стань частью уникальной команды экспертов — ресурс-менеджеров.
Мобильный разработчик Android, найдись! 🕵🏻‍♂️

Ozon делает приложение для миллионов поĸупателей, вĸлючающее множество сервисов — от поĸупĸи товаров, до бронирования авиабилетов и управления банĸовсĸими услугами.

У тебя есть опыт разработĸи на Kotlin от 2 лет? Тогда эта вакансия для тебя!

Стек: RxJava 2, Dagger 2, Architecture Components (ViewModel, Room, etc.), Firebase, Glide, Coroutine

Мотивация:
✔️ Никакого legacy
✔️ Своя дизайн-система
✔️ In-House фреймворки для Server Driven UI, аналитики, Feature Toggles, A/B тестов, Push-рассылок
✔️ Своя навигация на Android Fragments

Условия:
✔️ Удаленка, гибрид или офис (Россия, Казахстан) — выбирать тебе
✔️ Свобода действий в принятии решений
✔️ Конкурентное предложение по зарплате
✔️ А также система бонусов, с возможностью влиять на свой совокупный доход

Если ты хочешь влиться в команду крупнейшего e-commerce — оставляй отклик на сайте.
Как работает String Pool в JVM

Строки в JVM хранятся в специальной области памяти в куче – string pool. Благодаря этому получается неплохо экономить память. Но есть и неприятное последствие – нельзя гарантированно удалить строки из памяти приложения, что ведет к рискам безопасности.

В статье на примере детально разбирается, как работает string pool, и предлагается работать с ByteBuffer вместо String для секьюрных данных.
Ищем разработчика в команду билдтулинга Kotlin

Если вы любите писать плагины для Gradle, хорошо разбираетесь в принципах его работы и устали от разработки мобильных приложений, то приходите работать в команду Kotlin. Нужно будет ускорять инкрементальную компиляцию, улучшать импорт в IDE и работать над поддержкой нового компилятора К2.