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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Продолжаем пополнять книгу рецептов по Jetpack Compose, в этот раз готовим эффект liftOnScroll.
https://proandroiddev.com/lift-on-scroll-in-jetpack-compose-ccd05170ea83
Первый взгляд на KSP, который приходит на смену kapt, со стороны разработчика. Заполняем пробелы в документации и заводим свой процессор.
https://nikoladespotoski.medium.com/hands-on-google-ksp-c0508d623863
Многие из вас знают Евгения Мацюка, GDE, активного участника Android коммьюнити и эксперта во всех вопросах вокруг тестирования. В этот раз Женя поделился своими практиками рефакторинга. На живом примере он показал, как можно улучшить небольшой проект, выполненный как тестовое задание при приеме на работу. Бонус – куча инсайтов про то, как ревьюят ваши тестовые задания при найме.
https://youtu.be/ZD7Jr-Gy36M
Продолжаем тему доступности приложений для пользователей с ограниченными возможностями. Серия статей по системному подходу к разработке приложенй с учетом accessibility.
https://bytes.swiggy.com/designing-the-swiggy-app-to-be-truly-accessible-episode-2-7759d72a5f83
При сборке больших проектов выделяется огромное количество оперативной памяти, что на некоторых системах даже приводит к OutOfMemoryError, но эту ситуацию можно немного улучшить: использовать G1GC алгоритм для GC, снизить количество параллельных задач и уменьшить размер доступной памяти для KotlinCompile.
https://medium.com/traveloka-engineering/identify-handle-android-builds-memory-issues-66bf9299549
Учимся измерять время от запуска приложения до момента отрисовки первых кадров пользовательского интерфейса, параллельно погружаясь в детали системных механизмов, стоящих за этим процессом.
https://py.hashnode.dev/launch-response-time
История эволюции работы с локальным хранилищем файлов в разных версиях Android, а также обзор текущего положения дел.
https://proandroiddev.com/storage-model-android-101-26bc8aef9609
Для связи Jetpack Compose и ViewModel можно использовать как MutableStateFlow, так и MutableState. Автор решил сравнить два подхода. Также бонусом идет инструкция по автоматическому сохранению состояния MutableState внутри ViewModel при смерти процесса.
https://proandroiddev.com/viewmodels-using-compose-mutablestateflows-or-mutablestates-64d34ba548c5
rememberUpdatedState — API в Jetpack Compose, которое позволяет сохранять ссылку на переменную внутри LaunchedEffect даже после рекомпозиции. Разбираемся как этим пользоваться на примерах.
https://proandroiddev.com/jetpack-compose-side-effects-iii-rememberupdatedstate-c8df7b90a01d
01 ноября 2021 наступает дедлайн, к которому все приложения должны перейти на использование Android Billing Library 3 для совершения покупок. А в статье приведена инструкция, как обновиться до уже 4 версии библиотеки.
https://naveentp.medium.com/migrating-to-android-billing-library-v4-0-f268ec1cd5fa
В релиз вышла библиотека Arrow, которая приносит функциональные подходы в ваши проекты и позволяет писать на Kotlin код, похожий на Haskell. Среди множества нововведений хочется выделить поддержку Kotlin Multiplatform и Coroutines.
https://www.47deg.com/blog/arrow-1-0-release/
Яндекс улучшил рекламу мобильных приложений

Новые инструменты для рекламы приложений от Яндекс значительно облегчают запуск и увеличивают эффективность. Смотрите сами:

Платить можно только за установки — выбор стратегии за рекламодателем
формат выдачи сразу показывает оценки и рейтинг
интерфейс осваивается интуитивно

Кроме того, охваты стали больше за счет интеграции с ин-апп приложениями. Узнайте о том, как продвинуть свое приложение за несколько шагов на Яндекс.Директ.
Jetpack Compose по умолчанию идет вместе с Material темой, но зачастую приложения используют свои дизайн системы, для которых настроек Material недостаточно. В статье подробная инструкция по созданию полностью кастомной темы на такой случай.
https://dmytroshuba.com/blog/how-to-create-a-custom-theme-in-jetpack-compose/
Вышла релизная версия Android 12 вместе с исходниками в AOSP.
https://android-developers.googleblog.com/2021/10/android-12-is-live-in-aosp.html
Podlodka анонсирует 6-ой сезон Podlodka Android Crew!

🔥Старт 18 октября.
Интенсив продлится две недели. Сессии проходят дважды в день: утром и вечером.
В программе: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).

Во время первой недели разбирают Работу с сетью:
- научат, как правильно проектировать сетевой слой приложения
- глубоко погрузят в протоколы передачи данных и научат осознанно их выбирать
- покажут лучшие практики дизайна API и клиент-серверного взаимодействию

На второй неделе обсуждают Дебаг до релиза и после:
- обучат инструментам отладки и кейсам их применения
- расскажут как и зачем мониторить приложение в продакшене
- разберут системное отслеживание за перформансом приложения

Подробности и билеты уже на сайте, а до конца недели будет действовать приятная скидка 😊
Подборка из 25 библиотек, инструментов и исходников приложений, на которые стоит обратить внимание: примеры KMM проектов, анимации и UI элементы, расширения для Retrofit и фреймворки для проведения опросов.
https://medium.com/@mmbialas/25-best-android-libraries-projects-and-tools-you-dont-want-to-miss-in-2021-681dafe58b1c
inDriver ищет крутых Android инженеров в команду супераппа 🚀

Вам предстоит заново изобрести главный экран и навигацию для сервисов inDriver, принимать участие в разработке единого профиля, проводить эксперименты и участвовать в редизайне приложения. Результат вашей работы увидят более 100 млн. пользователей по всему миру.

В разработке мы используем Kotlin, Dagger 2, Retrofit + OkHttp + Gson, Android Architecture Components, Glide. Код храним на Github, сборка в Github Actions на собственной ферме, релизы в Google Play каждые 2 недели.

inDriver стал единорогом в начале этого года и продолжает расти. Сейчас в компании удивительное время — культура стартапа с возможностями большой компании.

Подробности в Notion.
По всем вопросам и откликам можно писать @alobashev (VPE) или @molly_doll (HR).
Для тех, кто возможно пропустил, книгу Jetpack Compose internals от Jorge Castillo сделали бесплатной. В книге раскрываются все детали реализации нового фреймворка и приводятся продвинутые примеры его использования.
https://leanpub.com/composeinternals
Работая с Coroutines, вы скорее всего сталкивались с Opt-In аннотациями, которыми был помечен экспериментальный или устаревший код. В статье вы найдете: информацию как создать свои Opt-In аннотации, как их использовать, примеры и договоренности.
https://zsmb.co/opt-in-annotations/
Как за 3 месяца запустить новое приложение, быстро набравшее популярность?

Команда СберМаркета делится историей запуска нового мобильного приложения. Для старта разработки накопилось достаточно причин: компании хотелось развивать мобильную витрину и улучшать показатели конверсии, расширять штат и компетенции специалистов и реализовать подход mobile first.

О том, как происходил переход с Xamarina на React Native, и оказалось ли это эффективным решением — читайте на Хабр.