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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Если вы используете Compose и столкнулись с задачей реализации взаимозависимого скролла вложенных друг в друга View и scrollable composables, вас очень порадует экспериментальный интероп между ними! Документация и сэмпл.
В Академии Яндекса стартует бесплатная Школа мобильной разработки.
Это двухмесячное интенсивное обучение от экспертов Яндекса, которые ежедневно работают с сервисами для многомиллионной аудитории.

Начинающие разработчики смогут:

•в разы улучшить свои навыки,
•познакомиться с реальными задачами бизнеса,
•научиться работать в команде и войти в профессиональное коммьюнити.

Обучение в Школе также дает возможность устроиться в компанию — после успешного прохождения программы от 50 до 70% выпускников становятся стажерами и сотрудниками Яндекса.
В этом году можно выбрать одно из трех направлений обучения на выбор: Android, iOS или Flutter.
Для поступления на трек по Android понадобятся базовые знания Kotlin и Java, а также минимальный опыт разработки приложений. Лекции и практические занятия стартуют 20 июля и пройдут в онлайн-формате, а с 9 сентября начнется работа над проектом в московском офисе Яндекса. Ребятам из других городов оплатят проезд и проживание.

Срок подачи заявок – до 23 июня. Все подробности здесь
Всем очень понравились фотографии фермы девайсов от Uber. Пока мы ждем подробного доклада от них, посмотрите на статью от ребят из АТИ, в которой они дали детальную инструкцию по созданию своей собственной фермы.
Тестировать перфоманс Compose нужно всегда в релизных сборках с включенным R8. В статье детально разбираются причины, по которым замеры дебажных сборок совсем нерепрезентативны.
📆Каждый день я стараюсь публиковать хотя бы один классный и полезный материал про Android разработку. За месяц их набегает несколько десятков, и ориентироваться в них не всегда легко. Чтобы облегчить вам задачу, я периодически публикую дайджест самых популярных постов, разбитых на категории.

📰Новости Kotlin и JetBrains
Релиз Kotlin 1.7.0
Детали обновления роадмапа Kotlin
Новый экспериментальный UI для IntelliJ IDEA

😛Языки
Роман Елизаров: Language Design in the Real World
Как работает Project Loom в Java

🧱Архитектурные подходы
Какие типы модулей встречаются в многомодульных проектах
Server-Driven UI от Альфы
Что нового в Koin 3.2

🎁Прочее
Как устроиться Staff Android инженером
Ферма девайсов от Uber

🕵️‍♀️Кстати, у меня есть еще один канал, на который стоит подписаться тем, кто хочет расти в управление командойTechLead Good Reads. Держите несколько интересных материалов оттуда на закуску!
Как устроена инженерная культура в Facebook
Как SkyEng решал проблему некомпетентных тимлидов
15 ментальных моделей для принятий лучших решений
Как проводить крутые и полезные собеседования без кода

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

#digest
Подборка советов по тому, как упростить свои рутинные задачи в Android Studio. Вот некоторые из них:
🙈Убрать из индексации автоматически генерируемые файлы
📝Начать использовать Scratches для быстрой проверки идей
🔀Научиться редактировать сразу несколько строк кода
📚Использовать историю буфера обмена
🕖Пользоваться локальной историей файла для отката последних изменений
Статья про использование подгружаемых с сервера Lua скриптов в Android приложении, с интеропом в обе стороны.
В Java планируют завезти новый Classfile Processing API, который упростит доступ к чтению и записи классфайлов, в том числе с учетом того, что их формат каждые полгода дорабатывается и меняется.
В версии 1.2.0-beta03 библиотеки Compose Animation добавили много новых easing functions для анимаций. Держите подробную статью про то, как они работают и как реализовать свою кастомную функцию.
Вышла первая стабильная версия Koin Annotations, работающая поверх KSP. Получилась более легковесная альтернатива Koin DSL.
В Kotlin 1.7.0 добавили возможность генерировать билд репорты после каждой сборки проекта. Они содержат подробную информацию о том, из каких этапов состояла компиляция, какой этап сколько времени занимал, и какие проблемы были обнаружены по пути. Фича супер-полезна в тех случаях, когда сборка кажется медленной, но вы не знаете, куда конкретно копать.
Вышел релиз kotlinx-datetime 0.4.0. Главное нововведение – появление класса LocalTime, который позволяет удобно работать со временем в рамках одного дня.
Когда вы дизайните новую библиотеку, архитектуру приложения или просто интерфейс класса, всегда надо пытаться представить, как его потенциальные пользователи могут косячить с его использованием. В статье разбираются примеры того, как хорошие библиотеки оказывались вредными из-за того, что не учитывали тенденцию людей ошибаться, и различные подходы к тому, как сделать ваш дизайн устойчивым к ошибкам.
Про постепенный рефакторинг приложения с Fragments на Compose с top-down подходом, при котором на Compose переводятся сначала контейнеры, а уже потом – отдельные компоненты.
Челленджи Android-разработчика: для джуна, мидла, сеньора

CTO FUNCORP Дима Васильев собрал топ-3 своих воспоминаний:

Джуном я получил первую серьезную задачу: обеспечить почти мгновенный показ ролика в приложении с любого места. С Faststart никто не работал, а реализация должна поддерживать старый тип отдачи контента. В итоге — видео у миллионов пользователей работает в 6 раз быстрее.

Дорос до миддла. Задача: улучшить алгоритм загрузки контента. Нужно написать с нуля логику кэширования, доскачивания и предзагрузки файлов. В итоге — число ретраев у пользователей снижается почти втрое.

В роли сеньора делал глубокую техническую аналитику, так как приложение монетизируется через рекламу. Android Vitals, Firebase, Fabric, Mixpanel не умели того, что нужно. Пишем свое и попутно оптимизируем: нативные крэши уменьшились в 10 раз, out of memory — в 15.

Если у тебя за плечами тоже есть сеньорские челленджи, обрати внимание на вакансию Android-разработчика от FUNCORP:

Senior Android Developer
Сталкивались с тем, что информация о том, почему было принято то или иное архитектурное решение, со временем теряется? Держите подробную статью про Architecture Decision Records – практику записей и хранения ключевых архитектурных решений.
🔥 AvitoTech ищет Android-разработчиков…

…сразу в три команды кластера mobile!

Вот чем предстоит в них заниматься:
🏄‍♂️ Команда Speed: развивать системы сборки тестовый фреймворк, тестовый раннер, CI/CD-инфру и инструменты для автотестирования;

🎨 Команда Mobile Design System: работать над консистентностью UI, строить компонентную архитектуру, создавать элементы интерфейса и развивать backend-driven UI;

🏗 Команда Mobile Architecture: упрощать жизнь продуктовым разработчикам через создание гибкой, расширяемой архитектуры мобильных приложений.

Залетайте на сайт за подробностями: bit.ly/3zV9pl6