Продолжаем пополнять книгу рецептов по Jetpack Compose, в этот раз готовим эффект liftOnScroll.
https://proandroiddev.com/lift-on-scroll-in-jetpack-compose-ccd05170ea83
https://proandroiddev.com/lift-on-scroll-in-jetpack-compose-ccd05170ea83
Medium
Lift on scroll in Jetpack Compose
Jetpack Compose doesn’t provide liftOnScroll, so how do we make our designs match MaterialDesign?
Первый взгляд на KSP, который приходит на смену kapt, со стороны разработчика. Заполняем пробелы в документации и заводим свой процессор.
https://nikoladespotoski.medium.com/hands-on-google-ksp-c0508d623863
https://nikoladespotoski.medium.com/hands-on-google-ksp-c0508d623863
Medium
Hands on Google KSP
Experience with KSP; not a guide how to use KSP with Room
Многие из вас знают Евгения Мацюка, GDE, активного участника Android коммьюнити и эксперта во всех вопросах вокруг тестирования. В этот раз Женя поделился своими практиками рефакторинга. На живом примере он показал, как можно улучшить небольшой проект, выполненный как тестовое задание при приеме на работу. Бонус – куча инсайтов про то, как ревьюят ваши тестовые задания при найме.
https://youtu.be/ZD7Jr-Gy36M
https://youtu.be/ZD7Jr-Gy36M
YouTube
Воркшоп: Рефакторинг Android-проекта / Евгений Мацюк
Понравилось видео и хочешь узнать что-то еще про Android? Забирай весь плейлист на https://is.gd/kChYnl или купи билет на следующий сезон конференции https://is.gd/auKynm.
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как устроена…
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как устроена…
Продолжаем тему доступности приложений для пользователей с ограниченными возможностями. Серия статей по системному подходу к разработке приложенй с учетом accessibility.
https://bytes.swiggy.com/designing-the-swiggy-app-to-be-truly-accessible-episode-2-7759d72a5f83
https://bytes.swiggy.com/designing-the-swiggy-app-to-be-truly-accessible-episode-2-7759d72a5f83
Medium
Designing the Swiggy app to be truly ‘accessible’ | Episode-2
In our earlier blog post, we shared how we went about identifying the accessibility gaps in Swiggy and our design philosophy to address…
При сборке больших проектов выделяется огромное количество оперативной памяти, что на некоторых системах даже приводит к OutOfMemoryError, но эту ситуацию можно немного улучшить: использовать G1GC алгоритм для GC, снизить количество параллельных задач и уменьшить размер доступной памяти для KotlinCompile.
https://medium.com/traveloka-engineering/identify-handle-android-builds-memory-issues-66bf9299549
https://medium.com/traveloka-engineering/identify-handle-android-builds-memory-issues-66bf9299549
Medium
Identify & Handle Android Builds’ Memory Issues
During an Android developer’s journey, projects would get larger and take progressively longer to build.
Учимся измерять время от запуска приложения до момента отрисовки первых кадров пользовательского интерфейса, параллельно погружаясь в детали системных механизмов, стоящих за этим процессом.
https://py.hashnode.dev/launch-response-time
https://py.hashnode.dev/launch-response-time
Py's blog
Launch Response Time
Android Vitals
История эволюции работы с локальным хранилищем файлов в разных версиях Android, а также обзор текущего положения дел.
https://proandroiddev.com/storage-model-android-101-26bc8aef9609
https://proandroiddev.com/storage-model-android-101-26bc8aef9609
Medium
Storage Model | Android 101
With the recent years of Android platform updates, the storage model has evolved. Starting Android 10 (API 29), the model has become…
Для связи Jetpack Compose и ViewModel можно использовать как
https://proandroiddev.com/viewmodels-using-compose-mutablestateflows-or-mutablestates-64d34ba548c5
MutableStateFlow
, так и MutableState
. Автор решил сравнить два подхода. Также бонусом идет инструкция по автоматическому сохранению состояния MutableState
внутри ViewModel при смерти процесса.https://proandroiddev.com/viewmodels-using-compose-mutablestateflows-or-mutablestates-64d34ba548c5
Medium
ViewModels using Compose: MutableStateFlows or MutableStates?
State hoisting is an important concept useful to make a Composable stateless (and so easily reusable). The official Compose documentation…
rememberUpdatedState
— API в Jetpack Compose, которое позволяет сохранять ссылку на переменную внутри LaunchedEffect даже после рекомпозиции. Разбираемся как этим пользоваться на примерах.https://proandroiddev.com/jetpack-compose-side-effects-iii-rememberupdatedstate-c8df7b90a01d
Medium
Jetpack Compose Side-Effects III— rememberUpdatedState
rememberUpdatedState helps keep an updated reference to variables in our compose side-effect. Read to see a use case where this could help
01 ноября 2021 наступает дедлайн, к которому все приложения должны перейти на использование Android Billing Library 3 для совершения покупок. А в статье приведена инструкция, как обновиться до уже 4 версии библиотеки.
https://naveentp.medium.com/migrating-to-android-billing-library-v4-0-f268ec1cd5fa
https://naveentp.medium.com/migrating-to-android-billing-library-v4-0-f268ec1cd5fa
Medium
Migrating to Android Billing Library v4.0
Breaking changes, better Retry logic, and much more.
В релиз вышла библиотека Arrow, которая приносит функциональные подходы в ваши проекты и позволяет писать на Kotlin код, похожий на Haskell. Среди множества нововведений хочется выделить поддержку Kotlin Multiplatform и Coroutines.
https://www.47deg.com/blog/arrow-1-0-release/
https://www.47deg.com/blog/arrow-1-0-release/
Xebia
Blog - Xebia
Explore the most recent articles on technology, software development, and digital transformation. Brought to you by the experts at Xebia.
Яндекс улучшил рекламу мобильных приложений
Новые инструменты для рекламы приложений от Яндекс значительно облегчают запуск и увеличивают эффективность. Смотрите сами:
Платить можно только за установки — выбор стратегии за рекламодателем
формат выдачи сразу показывает оценки и рейтинг
интерфейс осваивается интуитивно
Кроме того, охваты стали больше за счет интеграции с ин-апп приложениями. Узнайте о том, как продвинуть свое приложение за несколько шагов на Яндекс.Директ.
Новые инструменты для рекламы приложений от Яндекс значительно облегчают запуск и увеличивают эффективность. Смотрите сами:
Платить можно только за установки — выбор стратегии за рекламодателем
формат выдачи сразу показывает оценки и рейтинг
интерфейс осваивается интуитивно
Кроме того, охваты стали больше за счет интеграции с ин-апп приложениями. Узнайте о том, как продвинуть свое приложение за несколько шагов на Яндекс.Директ.
vc.ru
Яндекс представил обновленный интерфейс для запуска рекламы мобильных приложений
Новый интерфейс позволит завести рекламную кампанию приложений в несколько шагов. Для этого не потребуется специальных знаний и помощь специалистов. Рекламодателю нужно лишь добавить ссылку на приложение, креативы, указать географию показов, выбрать стратегию…
Jetpack Compose по умолчанию идет вместе с Material темой, но зачастую приложения используют свои дизайн системы, для которых настроек Material недостаточно. В статье подробная инструкция по созданию полностью кастомной темы на такой случай.
https://dmytroshuba.com/blog/how-to-create-a-custom-theme-in-jetpack-compose/
https://dmytroshuba.com/blog/how-to-create-a-custom-theme-in-jetpack-compose/
Dmytro Shuba
How to create a truly custom theme in Jetpack Compose
How to create a Jetpack Compose custom theme from scratch without MaterialTheme. We will learn how to add custom fonts, styles, dimensions, etc.
Вышла релизная версия Android 12 вместе с исходниками в AOSP.
https://android-developers.googleblog.com/2021/10/android-12-is-live-in-aosp.html
https://android-developers.googleblog.com/2021/10/android-12-is-live-in-aosp.html
Android Developers Blog
Android 12 is live in AOSP!
Posted by Dave Burke, VP of Engineering
Podlodka анонсирует 6-ой сезон Podlodka Android Crew!
🔥Старт 18 октября.
Интенсив продлится две недели. Сессии проходят дважды в день: утром и вечером.
В программе: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).
Во время первой недели разбирают Работу с сетью:
- научат, как правильно проектировать сетевой слой приложения
- глубоко погрузят в протоколы передачи данных и научат осознанно их выбирать
- покажут лучшие практики дизайна API и клиент-серверного взаимодействию
На второй неделе обсуждают Дебаг до релиза и после:
- обучат инструментам отладки и кейсам их применения
- расскажут как и зачем мониторить приложение в продакшене
- разберут системное отслеживание за перформансом приложения
Подробности и билеты уже на сайте, а до конца недели будет действовать приятная скидка 😊
🔥Старт 18 октября.
Интенсив продлится две недели. Сессии проходят дважды в день: утром и вечером.
В программе: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).
Во время первой недели разбирают Работу с сетью:
- научат, как правильно проектировать сетевой слой приложения
- глубоко погрузят в протоколы передачи данных и научат осознанно их выбирать
- покажут лучшие практики дизайна API и клиент-серверного взаимодействию
На второй неделе обсуждают Дебаг до релиза и после:
- обучат инструментам отладки и кейсам их применения
- расскажут как и зачем мониторить приложение в продакшене
- разберут системное отслеживание за перформансом приложения
Подробности и билеты уже на сайте, а до конца недели будет действовать приятная скидка 😊
podlodka.io
Онлайн-конференция Podlodka Android Crew, сезон #13
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам Android-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Подборка из 25 библиотек, инструментов и исходников приложений, на которые стоит обратить внимание: примеры KMM проектов, анимации и UI элементы, расширения для Retrofit и фреймворки для проведения опросов.
https://medium.com/@mmbialas/25-best-android-libraries-projects-and-tools-you-dont-want-to-miss-in-2021-681dafe58b1c
https://medium.com/@mmbialas/25-best-android-libraries-projects-and-tools-you-dont-want-to-miss-in-2021-681dafe58b1c
Medium
25 Best Android Libraries, Projects, and Tools You Won’t Want to Miss Out in 2021
Awesome libraries and projects released or heavily refreshed in 2021
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).
Вам предстоит заново изобрести главный экран и навигацию для сервисов 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
https://leanpub.com/composeinternals
Leanpub
Jetpack Compose internals
This book consciously explores the guts of Jetpack Compose, the brand new library by Google and the Android team that will become the future of Android UI.
Работая с Coroutines, вы скорее всего сталкивались с Opt-In аннотациями, которыми был помечен экспериментальный или устаревший код. В статье вы найдете: информацию как создать свои Opt-In аннотации, как их использовать, примеры и договоренности.
https://zsmb.co/opt-in-annotations/
https://zsmb.co/opt-in-annotations/
zsmb.co
All About Opt-In Annotations
Have you ever encountered APIs that show warnings or errors when you use them, saying that they're internal or experimental? In this guide, you'll learn everything you need to know about opt-in APIs in Kotlin: how to create and use them, and all their nuances.
Как за 3 месяца запустить новое приложение, быстро набравшее популярность?
Команда СберМаркета делится историей запуска нового мобильного приложения. Для старта разработки накопилось достаточно причин: компании хотелось развивать мобильную витрину и улучшать показатели конверсии, расширять штат и компетенции специалистов и реализовать подход mobile first.
О том, как происходил переход с Xamarina на React Native, и оказалось ли это эффективным решением — читайте на Хабр.
Команда СберМаркета делится историей запуска нового мобильного приложения. Для старта разработки накопилось достаточно причин: компании хотелось развивать мобильную витрину и улучшать показатели конверсии, расширять штат и компетенции специалистов и реализовать подход mobile first.
О том, как происходил переход с Xamarina на React Native, и оказалось ли это эффективным решением — читайте на Хабр.
Хабр
Переход на Swift UI и React Native: как за 3 месяца мы запустили новое приложение, быстро набравшее популярность
Всем привет! На связи Дима Бобылев, CTO СберМаркета. В своей первой статье я рассказывал про взрывной рост нашего сервиса и какие неприятности с нами случились. Знайте, мы не только выжили, но и...