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

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

Размещение рекламы: @tanyasanovna
Download Telegram
WorkManager – отличное решение для реализации работы в бэкграунде. Но из-за того, что он живет вне жизненного цикла приложения, можно наткнуться на различные необычные креши. В статье проводятся эксперименты по крешам внутри WorkManager, изучаются полученные ошибки и даются советы как избежать таких проблем.
Разбор потенциального вектора supply chain атаки на Android приложения через подмену gradle-wrapper на вредоносный пропатченный jar.
Вышла новая версия Android Studio – Chipmunk. Ключевое в релизе – фокус на стабильность и исправление многих багов и переезд на новую версию IntelliJ, что само по себе приносит тонну улучшений.
Вышел Flutter 3! Из основных хайлайтов:
📌Релиз стабильной версии Flutter для всех десктопных платформ: Windows, macOS, Linux
📌Поддержка Material 3
📌Поддержка 120 hz рендера на iOS
📌Двойное ускорение декодирования изображений на вебе
📌Новый API жизненного цикла web приложений
📌Обновление линтера до 2.0 с кучей новых проверок
Небольшой хинт по тому, как сделать работу в Android Studio немного более продуктивной. Вы можете отключить отображение в код комплишне тех API, которые вы точно никогда не планируете использовать. Для этого перейдите в Preferences > Editor > General > Auto Import, и настройте конфиг под себя.
Скорее всего, вы уже успели разобраться со всеми главными анонсами этого Google I/O. Но на всякий случай держите дайджест самых интересных вещей:
🎨Jetpack Compose Beta 1.2: загружаемые шрифты, LazyGrids, window insets, поддержка Animation Preview
🛠Поддержка Live Edit в Android Studio: хот релоад для всех изменений в Compose Preview, эмуляторе и физическом устройстве
️Compose для Wear OS: специальные компоненты и диалоги для часов, поддержка всего тулинга в Android Stufio
️Health Connect: новый API для хранения и работы с метриками здоровья пользователей
📝Google Play SDK Index: реестр сторонних SDK со сведениями о популярности, требуемых разрешениях и совместимости с версиями Android
Поддержка MotionLayout в Jetpack Compose все еще в экспериментальном состоянии, но работать с ней вполне можно. В гайде разбирается, как с помощью MotionLayout анимировать несколько связанных между собой компонентов.
Тестирование уведомлений в Android

🤔Можно тестировать уведомления юнит-тестами без их отправки или с помощью UIAutomator – но у таких подходов много минусов
📪Надежный способ – Espresso тесты на NotificationManager
📝Примеры тестов для проверки контента уведомления и кнопок действий
💻Pull request, в котором можно подсмотреть эти тесты
Mobile Party в Ozon Tech для Android разработчиков

Ozon Tech ищет мобильных Middle- и Senior-разработчиков. Поэтому ребята 4 июня устраивают Mobile Need For Tech — событие, совмещающее финальные собеседования и офлайн-вечеринку, где вы сможете неформально пообщаться с разработчиками Ozon Tech.

Вас ждёт насыщенная программа: экскурсия по офису, NFT-выставка и фуршет с приглашённым диджеем.

Чтобы туда попасть, нужно пройти несколько этапов:
1. Подать заявку: https://bit.ly/3wAfL6f
2. Успешно пройти предварительное интервью
3. Прийти на финальное собеседование 4 июня

Если живёте не в Москве, Ozon Tech оплатит потенциальным кандидатам поездку на мероприятие.

Иду на Mobile Party
Mosaic – библиотека от Джейка Уортона для создания консольных интерфейсов поверх компилятора и рантайма Compose. Это – интересный кейс, потому что на его примере хорошо видно, что потенциальная сфера применения Compose намного шире, чем просто работа с UI. В статье разбирается, как библиотека устроена под капотом и как она взаимодействует с рантаймом Compose.
📆Каждый день я стараюсь публиковать хотя бы один классный и полезный материал про Android разработку. За месяц их набегает несколько десятков, и ориентироваться в них не всегда легко. Чтобы облегчить вам задачу, я периодически публикую дайджест самых популярных постов, разбитых на категории.

🧱Архитектура
Про паттерн EventListener
Оценка сложности использования библиотек от Джейка Уортона
История и результаты обновления кодовой базы Slack
Как Qiwi внедряли KMM в свое приложение
Реализация OAuth в приложении: принципы работы и потенциальные проблемы

🛠Инструменты и библиотеки
Focus – Gradle плагин, в несколько раз ускоряющий время синка проекта
Исходники gradle плагина команды разработки Slack
UI тестирование анимаций Compose
Сбор и анализ перфоманс метрик в Jetpack Compose

🧐Курсы
Мега-курс из 100 уроков по Flutter на русском языке

🕵️‍♀️Кстати, у меня есть еще один канал, на который стоит подписаться тем, кто хочет расти в управление командойTechLead Good Reads. Держите несколько интересных материалов оттуда на закуску!
Когда двухнедельные Scrum спринты не работают
Работающие и не работающие подходы к приоритизации
Найм разработчиков через задачи по чтению кода
Типичные ошибки начинающих тимлидов

Если дайджест вам понравился – ставьте ❤️, 👍 и 🔥. Благодаря этому я пойму, что собирал его не зря! А если у вас будут конкретные предложения по его улучшению – смело пишите в комментарии!

#digest
Роман Елизаров написал лонгрид про то, с какими проблемами сталкиваются дизайнеры Kotlin и как они оптимизируют язык с учетом реальных потребностей его пользователей:
0️⃣Поиск компромисса между null safety и интеропом с Java
🧱 Дизайн корутин с учетом необходимости интеграции их с уже написанными библиотеками
🤝Трейдоффы в системе вывода типов, усложняющие язык, но упрощающие частые юзкейсы разработчиков
🤏Как небольшие улучшения в языке тащат за собой много сложностей
FUNCORP на Кипре!

Инженеры из Android-команды FUNCORP создали и постоянно развивают умные контентные ленты в своих продуктах и за последнее время:

— написали полностью свою медиацию рекламы на замену твиттеровскому MoPub’у;
— разработали свою техническую аналитику, которая умеет то, чего не могут Firebase и Mixpanel;
— сейчас внедряют HTTP/3;
— а еще у них полностью самописные групповые чаты на 500 человек, карта с мемами и многое-многое другое.

У ребят много интересных задач на работу с изображениями, видео, рекламой и создание новых фич для миллионов пользователей по всему миру. А еще современный стек, MVI-архитектура на базе Kotlin, быстрые релизы, автоматизация и отсутствие бюрократии. Детали и от 4К евро по ссылочке.

P.S. С визой и релокацией на Кипр, если что, помогут. Погнали!
Контекстные ресиверы – это новая языковая фича, прототип которой был выпущен в Kotlin 1.6.20. С ее помощью можно неявно передавать в функцию дополнительные параметры. В статье разбирается пример того, как контекстные ресиверы помогают сделать запутанную бизнес-логику более понятной и корректной.
Недавно вышел Koin 3.2. Разработчики начали публиковать серию статей с обзором основных фичей в релизе:
🆕Новый DSL, основанный на конструкторах
📥Module Includes, позволяющая выстраивать граф модулей и оптимизировать загрузку его веток
В продолжение тем недавних релизов. Apollo Kotlin (бывший Apollo Android), рассказывают про историю разработки двух ключевых фичей релиза – полного перехода на Kotlin Multiplatform и переезда с фрагментов GraphQL на интерфейсы.
Обзор обновленных инструментов в Android Studio Chipmunk, которые помогают находить и исправлять визуальные глитчи, связанные с пропущенными фреймами при отрисовке.