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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Работа со скроллом в Compose не совсем очевидна. В статье автор делится тем, как правильно определять текущую позицию и скроллить к определенному элементу списка при появлении клавиатуры.
Гайд по работе с Glance – новым фреймворком для создания AppWidgets и Tiles для Wear OS, построенным поверх рантайма Compose.
Meta добавили в Infer новый статический анализатор, который умеет находить дедлоки в Java коде без его запуска. Ключевая особенность в том, что он хорошо умеет работать с огромными кодовыми базами. Особенно рекомендую почитать подробную бумагу с деталями реализации алгоритма его работы.
Если вы страдаете от долгого времени сборки, то вам могут помочь эти советы:
- Часть 1
- Часть 2
- Часть 3
Изменениями модификатора graphicsLayer в Compose можно добиваться разных кайфовых анимаций. В статье на гифках показывается, какие эффекты вызывает изменение каждого из его свойств.
Barista – обертка над Espresso, упрощающая написание и поддержку UI тестов. Среди ее фичей:
🤝 Много хелперов, делающих код поиска и взаимодействия с элементами более читаемым
📝Автоматический скролл перед взаимодействиями с View тогда, когда он необходим
🐞Простая настройка стратегий поведения для flaky тестов
Команда Dropbox рассказывает, как они переписывали фичу по автоматической загрузке фотографий в облако с C++ на Kotlin. Архитектура дизайнилась с учетом следующих требований:
📌Надежность работы в бэкграунде
📌Скорость загрузки фото и низкое потребление ресурсов

В статье рассказывается, как конкретно выбирался стек технологий, с какими проблемами столкнулась команда при реализации модуля, его тестировании и выкатке.
«Лаборатория Касперского» ищет C/C++ Developer for IoT (mobile)

Работа в «Лаборатории Касперского» — это не только масштабные задачи, но и приятные бонусы: бесплатное обучение, расширенный ДМС со стоматологией, спортзалы прямо в офисе, а еще — программа релокации для кандидатов из регионов и не только.

Если вы:
— имеете опыт программирования на Dart\Flutter;
— умеете программировать на C/C++ или Java/Kotlin;
— пробовали себя в мобильной разработке (Android\iOS) или хотите сделать это направление приоритетным,

то переходите по ссылке, чтобы ознакомиться с подробной информацией о вакансии и присоединиться к команде лучших экспертов.
Реализация гибкой стратегии кеширования запросов при работе с GraphQL – нетривиальная задача, ведь каждый запрос может включать в себя как кешируемые публичные, так и некешируемые приватные данные. В статье приводится пример того, как можно разбивать такие запросы на несколько частей и мерджить их с помощью Kotlin Flows.
Google открыл доступ к API для получения данных Android Vitals. Из идей, как его можно использовать:
💡Поднять свой кастомный дэшборд про качество приложения, добавив туда данные из багтрекера, саппорта и аналитики
💡Настроить алерты в мессенджере по изменению нужных вам метрик
💡Залить данные в DWH, чтобы использовать их при проверке будущих продуктовых гипотез

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

В чем суть проблемы – у вас может в один и тот же момент времени висеть сразу несколько веток с зелеными тестами относительно текущего состояния main. Но как только одна из веток будет слита, все остальные станут красными.

Merge queue решает проблему следующим образом. Все PR попадают в единую очередь. Валидность кода в PR проверяется относительно main, в который будут слиты все предыдущие ветки из очереди. Если PR остается зеленым, то он сольется автоматически. Если нет – то либо заблокирует очередь, либо будет автоматически выкинут из нее.
Android разработчик, разрабатывающий приложения на Compose, попробовал SwiftUI и написал хороший пост со сравнением двух фреймворков. Отличий не очень много, но в целом разрабатывать под SwiftUI проще, так как он заточен под одну конкретную платформу.
Твиттер-тред с обзором правил для ktlint, которые помогают большой команде писать единообразный код на Compose и не стрелять себе в ногу.
Новая часть цикла статей от CashApp про сравнение RxJava и корутин. В этот раз разбираются Shared Flows.
Команда DoorDash используют Kotlin для разработки микросервисов. Одна из причин, по которым они предпочли Kotlin Python’у – богатые возможности для функционального программирования. В этом посте они закапываются в детали того, как конкретно они пишут функциональный код на Kotlin.
Разбор того, как работает kotlin-parcelize, и как можно вмешаться в этот процесс, чтобы уменьшить объем сгенерированного кода.