Интересный подход к реализации Parcelable, основанный на Kotlinx Serialization, что позволяет избавится от Android зависимостей в классах моделей и использовать их в мультиплатформенных проектах.
https://chrynan.codes/android-parcelable-theres-a-better-way/
https://chrynan.codes/android-parcelable-theres-a-better-way/
Chris Keenan Codes
Android Parcelable: There's a better way
Introducing a new library that uses Kotlinx Serialization to parcellize objects on Android.
В Kotlin 1.5 грядут обновления для sealed классов: снимается ограничение, по которому наследники должны находиться в одном файле с sealed классом, а также добавляются sealed интерфейсы.
https://zsmb.co/sealed-goodies-coming-in-kotlin-1-5/
https://zsmb.co/sealed-goodies-coming-in-kotlin-1-5/
zsmb.co
Sealed goodies coming in Kotlin 1.5
Kotlin 1.5 will bring exciting new features, among them improvements to sealed classes and an introduction of sealed interfaces. Let's take a look at what that will look like!
Правила фонового отслеживания геолокации пользователей стали строже и теперь разработчики подобных приложений должны заполнять специальную форму в Google Play. В статье описываются проблемы, которые могут возникнуть при ревью, и как их избежать.
https://medium.com/@adrian.kajda/new-guidelines-for-accessing-background-location-in-android-d2e07d45ae79
https://medium.com/@adrian.kajda/new-guidelines-for-accessing-background-location-in-android-d2e07d45ae79
Medium
New guidelines for accessing background location in Android
We’ve got 2021 and if you are an Android Developer you need to know a few things that are going to change really soon.
Вместе с Dagger 2.31 появился новый ViewModelComponent и ViewModelScope, привязанный к жизненному циклу ViewModel. Особенности новинки и отличия от ActivityRetainedScoped в статье.
https://medium.com/androiddevelopers/using-hilts-viewmodelcomponent-53b46515c4f4
https://medium.com/androiddevelopers/using-hilts-viewmodelcomponent-53b46515c4f4
Medium
Using Hilt’s ViewModelComponent
ViewModelComponent is a component in the Hilt’s component hierarchy that follows the lifecycle of a ViewModel and allows scoping types to it
Разбор работы метода runBlocking и того, почему его вызов на UI потоке ведет к deadlock.
https://proandroiddev.com/how-to-deadlock-your-android-app-with-runblocking-8dab02c2624d
https://proandroiddev.com/how-to-deadlock-your-android-app-with-runblocking-8dab02c2624d
Medium
How runBlocking May Surprise You
If you write this code on the UI thread you will deadlock your Android app forever.
Разработчики из Щвейцарии предлагают новую архитектуру кроссплатформенных приложений, построенных на связке Kotlin Multiplatform и Redux. Бонусом идет демо приложение с примером реализации.
https://blog.dreipol.ch/trash-disposal-with-kotlin-multiplattform-12abb5b5eb2c
https://blog.dreipol.ch/trash-disposal-with-kotlin-multiplattform-12abb5b5eb2c
Medium
Why we use Kotlin Multiplatform and Redux
This blog post comes with a free app. Furthermore, it helps you to get rid of your trash. No pun intended.
1 февраля стартует онлайн-конференция Podlodka Android Crew!
Конференция пройдет в формате двухнедельного интенсива, сессии идут утром и вечером. Каждая неделя посвящена одной теме, и вот немного подробностей о темах этого сезона:
🎨 Первую неделю будет посвящена UI.
• Кирилл Розов из Android Broadcast расскажет о тонкостях работы с ConstraintLayout.
• Никита Иванов из Ситимобил вместе детально разберется различных способах эффективно делать анимации. Бонус: после этой сессии будет домашка, на которой можно будет отработать пройденный материал👩🎓
• Традиционно для Podlodka Crew не обойдется без рулетки кейсов под названием “Как ты сверстаешь это?”, где эксперты посоревнуются в борьбе с хитрыми макетами.
• Кроме этого будут сессии про Jetpack Compose, дизайн-системы, RecyclerView и многое другое!
👩🎓Тема второй недели – алгоритмы и алгоритмические собеседования.
• Алексей Шаграев (ex-Яндекс, Google) даст вводную по алгоритмам, а уже на следующий день он же проведет алгоритмическое собеседование с добровольцем из числа слушателей конференции.
• Денис Неклюдов из Lyft расскажет про то, как составить себе учебный план для развития своих алгоритмических навыков
• Сергей Рябов поделится хитростями подготовки к собесам в FAANG. Спойлер: никаких задач про люки и школьные автобусы не осталось, придется писать код!
• Без игровых форматов не обойдется, поэтому в программе интеллектуальная игра “Алгоритмы за 300”.
Полезные темы недель, эксперты из лучших компаний и нескучные форматы сессий ждут вас в этом сезоне.
Сезон стартует 1 февраля. Билеты и полное расписание доступны на сайте по ссылке. Ждем вас на борту!
Конференция пройдет в формате двухнедельного интенсива, сессии идут утром и вечером. Каждая неделя посвящена одной теме, и вот немного подробностей о темах этого сезона:
🎨 Первую неделю будет посвящена UI.
• Кирилл Розов из Android Broadcast расскажет о тонкостях работы с ConstraintLayout.
• Никита Иванов из Ситимобил вместе детально разберется различных способах эффективно делать анимации. Бонус: после этой сессии будет домашка, на которой можно будет отработать пройденный материал👩🎓
• Традиционно для Podlodka Crew не обойдется без рулетки кейсов под названием “Как ты сверстаешь это?”, где эксперты посоревнуются в борьбе с хитрыми макетами.
• Кроме этого будут сессии про Jetpack Compose, дизайн-системы, RecyclerView и многое другое!
👩🎓Тема второй недели – алгоритмы и алгоритмические собеседования.
• Алексей Шаграев (ex-Яндекс, Google) даст вводную по алгоритмам, а уже на следующий день он же проведет алгоритмическое собеседование с добровольцем из числа слушателей конференции.
• Денис Неклюдов из Lyft расскажет про то, как составить себе учебный план для развития своих алгоритмических навыков
• Сергей Рябов поделится хитростями подготовки к собесам в FAANG. Спойлер: никаких задач про люки и школьные автобусы не осталось, придется писать код!
• Без игровых форматов не обойдется, поэтому в программе интеллектуальная игра “Алгоритмы за 300”.
Полезные темы недель, эксперты из лучших компаний и нескучные форматы сессий ждут вас в этом сезоне.
Сезон стартует 1 февраля. Билеты и полное расписание доступны на сайте по ссылке. Ждем вас на борту!
podlodka.io
Онлайн-конференция Podlodka Android Crew, сезон #13
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам Android-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Упрощаем работу с Firebase Realtime Database с помощью корутин.
https://proandroiddev.com/suspending-firebase-realtime-database-with-kotlin-coroutines-76b4651bc0e8
https://proandroiddev.com/suspending-firebase-realtime-database-with-kotlin-coroutines-76b4651bc0e8
Medium
Suspending Firebase Realtime Database with Kotlin Coroutines
This guide is a short explanation on simplifying the use of Firebase real-time database in Kotlin via Coroutines. As far as you know, for…
Подробная статья про профайлер в Android Studio и почему его результаты могут отличаться от systrace, про который мы рассказывали ранее.
https://proandroiddev.com/can-you-trust-time-measurements-in-profiler-5b3566a55e0c
https://proandroiddev.com/can-you-trust-time-measurements-in-profiler-5b3566a55e0c
Medium
Can you trust time measurements in Profiler?
In this post, I’ll explain why the time measurements that you see in Android Profiler might be much less accurate than you might expect.
Гайд как перевернуть все с ног на голову и превратить BottomSheet в TopSheet, появляющийся, как следует из названия, сверху.
https://taskito.io/dev/android-topsheet
https://taskito.io/dev/android-topsheet
Taskito
Create Top Sheet for Android (BottomSheet equivalent)
Android Bottom Sheet Behavior explained and extended to create a Top Sheet component for Taskito. Read detailed analysis of UX, behaviors & differences.
С появлением Kotlin количество сахара в коде значительно возросло, в том числе этому способствуют расширения, которые иногда заходят слишком далеко. В статье собраны подобные расширения и советы, как такого избежать.
https://krossovochkin.com/posts/2021_01_25_bad_kotlin_extensions
https://krossovochkin.com/posts/2021_01_25_bad_kotlin_extensions
Krossovochkin
Bad Kotlin Extensions
Kotlin extensions is a cool feature. Though trying to write 'idiomatic' Kotlin code some developers tend to overuse that feature making code worse that it could be without extensions. In this article we'll go through some examples of how not to write Kotlin…
Иногда папка .gradle может разрастаться до нескольких десятков гигабайт, и виной тому могут быть безобидные логи с ошибками и предупреждениями.
https://jitinsharma.in/posts/take-care-of-your-gradle-home-directory
https://jitinsharma.in/posts/take-care-of-your-gradle-home-directory
Подборка инструментов, облегчающих разработку в Android Studio: удобные сочетания клавиш, плагины и другие полезные функции IDE.
https://medium.com/axon-insights/how-to-make-android-studio-work-for-you-26ef31dd4792
https://medium.com/axon-insights/how-to-make-android-studio-work-for-you-26ef31dd4792
Medium
How to make Android Studio work for you?
How to spend less time by typing and navigating and more time by actually building things? Tips and tricks by Axon Android team
Гайд по кастомизации Snackbar: меняем шрифты, стили, положение на экране и используем свою разметку.
https://vladsonkin.com/how-to-customize-android-snackbar/
https://vladsonkin.com/how-to-customize-android-snackbar/
Короткая инструкция по отображению градиентного текста через специальный Span.
https://medium.com/plum-engineering/using-gradient-for-styling-text-1df9c87c0869
https://medium.com/plum-engineering/using-gradient-for-styling-text-1df9c87c0869
Medium
Using gradient for styling text
Use an engaging and fancy technique to spice up your UI!
Серия статей про новую попытку Google упростить работу с пагинацией в виде библиотеки Paging 3, которая теперь написана на Kotlin и использует корутины.
https://proandroiddev.com/paging-3-loading-states-separators-refresh-retry-5b4c8fca936c
https://proandroiddev.com/paging-3-loading-states-separators-refresh-retry-5b4c8fca936c
Medium
Paging 3 — Loading States, Separators, refresh(), retry()
In the previous post, a simple implementation of Paging 3 was described. If you do not have sufficient information about Paging 3, please…
Отличные новости – вышел Kotlin 1.4.30 🎉 Внутри – новые экспериментальные языковые фичи, поддержкп Gradle configuration cache и дикое ускорение времени компиляции Kotlin/Native. А главное – новый JVM бэкенд компилятора Kotlin вышел в Beta! Вот почему это круто:
- В нем исправлена куча старых багов
- Jetpack Compose работает только с ним
- Начиная со следующего релиза все улучшения перфоманса будут добавляться только в него
- Разработка новых языковых фичей станет быстрее
Команде Kotlin очень нужна ваша помощь с тем, чтобы проверить, как бэкенд работает с вашими проектами. Это займет буквально несколько минут вашего времени. Детальная инструкция – тут.
- В нем исправлена куча старых багов
- Jetpack Compose работает только с ним
- Начиная со следующего релиза все улучшения перфоманса будут добавляться только в него
- Разработка новых языковых фичей станет быстрее
Команде Kotlin очень нужна ваша помощь с тем, чтобы проверить, как бэкенд работает с вашими проектами. Это займет буквально несколько минут вашего времени. Детальная инструкция – тут.
The JetBrains Blog
The JVM Backend Is in Beta | The JetBrains Blog
(Updated) The new backend is Stable and is itching to be made the new default. We need each of you to start adopting it, testing it, and giving us feedback so we can give it a final polish, let's look
История развития сборщика мусора в Android. В статье разбираются алгоритмы работы сборщика на разных версиях Android, а также базовые понятия об устройстве памяти.
https://proandroiddev.com/a-garbage-collection-story-2421b96e4c84
https://proandroiddev.com/a-garbage-collection-story-2421b96e4c84
Medium
A Garbage Collection Story
Glimpsing into the life of Bill — the Android garbage collector
Реализация механизма обработки одноразовых действий (например отображение Snackbar) на Kotlin Flow.
https://proandroiddev.com/android-singleliveevent-redux-with-kotlin-flow-b755c70bb055
https://proandroiddev.com/android-singleliveevent-redux-with-kotlin-flow-b755c70bb055
Medium
Android SingleLiveEvent Redux with Kotlin Flow
Safely observing view model events within the Android lifecycle.
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Anna Banana)
В новом году мы продолжаем делиться с вами контентом от @AvitoTech – генерального партнера конференций Podlodka Crew 🙂
Александр Катин (Авито) и Денис Оздемир (Prisma) знакомят вас с принципами хорошего дизайна и учат плавить Фигму. Смотреть по ссылке: https://youtu.be/Q7JcVATsG8o
Александр Катин (Авито) и Денис Оздемир (Prisma) знакомят вас с принципами хорошего дизайна и учат плавить Фигму. Смотреть по ссылке: https://youtu.be/Q7JcVATsG8o
YouTube
Сам себе дизайнер в Android / Денис Оздемир, Александр Катин
Понравилось видео и хочешь узнать что-то еще про Android или дизайн? Забирай весь плейлист на https://is.gd/kChYnl или купи билет на следующий сезон конференции https://is.gd/auKynm
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как…
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как…