Серия статей, посвященная архитектурной секции на собеседованиях: базовый набор вопросов, дополнительные аспекты, на которые стоит обратить внимание при проектировании систем, а также пример решения одной из возможных задач.
https://proandroiddev.com/mobile-system-design-exercise-file-downloader-library-ccb8ac0e5be4
https://proandroiddev.com/mobile-system-design-exercise-file-downloader-library-ccb8ac0e5be4
Medium
Mobile System Design Exercise: File Downloader Library
The list of posts in this series:
Автор решил протестировать как UI библиотеки влияют на время сборки проектов. В экспериментах приняли участие: Jetpack Compose, чистые View, ViewBinding и DataBinding. Последний вариант ожидаемо показал худший результат, а вот с остальными не всё так однозначно.
https://chao2zhang.medium.com/fairly-evaluating-the-impact-of-different-android-ui-libraries-on-gradle-build-6301de5e0e60
https://chao2zhang.medium.com/fairly-evaluating-the-impact-of-different-android-ui-libraries-on-gradle-build-6301de5e0e60
Medium
Fairly evaluating the impact of different Android UI libraries on Gradle build
For an Android application maintained by a large group of developers, build time is one of the most critical developer ergonomic metrics…
В новой версии библиотеки AppCompat 1.4 улучшится поддержка emoji, добавятся новые иконки и возможность менять тон кожи. Это должно помочь приложениям соответствовать новым стандартам emoji в Google Play для Android 12.
https://medium.com/androiddevelopers/support-modern-emoji-99f6dea8e57f
https://medium.com/androiddevelopers/support-modern-emoji-99f6dea8e57f
Medium
Support Modern Emoji
Emojis! They are everywhere! Since their release they have become a huge part of our language. They are a way to efficiently express…
Вышел Kotlin 1.6.0, поэтому закиньте себе в спринт новую задачу – обновить версию компилятора в проекте!
https://blog.jetbrains.com/kotlin/2021/11/kotlin-1-6-0-is-released/
https://blog.jetbrains.com/kotlin/2021/11/kotlin-1-6-0-is-released/
The JetBrains Blog
Kotlin 1.6.0 Released | The Kotlin Blog
Kotlin 1.6.0 is now officially released with Stable exhaustive whens, Kover, and new memory manager for Kotlin/Native!
Delivery Club ищет Android-разработчиков. Получите оффер — и бонус в две зарплаты
Сколько времени нужно, чтобы найти работу? Если новый работодатель – Delivery Club, то всего два дня. В качестве бонуса вы получите две зарплаты при получении оффера в выходные.
Как принять участие?
Регистрируйтесь на Weekend Offer для Android-разработчиков, который пройдет 27-28 ноября. Всего два собеседования – и оффер у вас в кармане.
Кого ждут?
Android-разработчиков уровней middle и senior.
Что предлагают?
- Бонус в две зарплаты за оффер в выходные.
- Работу в команде сильнейших IT-специалистов.
- Современный стек технологий.
- Возможность влиять на бизнес и российский фудтех-рынок.
Где зарегистрироваться?
Регистрация открыта до 25 ноября на сайте: http://tech.delivery-club.ru/mobileweekend
Сколько времени нужно, чтобы найти работу? Если новый работодатель – Delivery Club, то всего два дня. В качестве бонуса вы получите две зарплаты при получении оффера в выходные.
Как принять участие?
Регистрируйтесь на Weekend Offer для Android-разработчиков, который пройдет 27-28 ноября. Всего два собеседования – и оффер у вас в кармане.
Кого ждут?
Android-разработчиков уровней middle и senior.
Что предлагают?
- Бонус в две зарплаты за оффер в выходные.
- Работу в команде сильнейших IT-специалистов.
- Современный стек технологий.
- Возможность влиять на бизнес и российский фудтех-рынок.
Где зарегистрироваться?
Регистрация открыта до 25 ноября на сайте: http://tech.delivery-club.ru/mobileweekend
Детальный гайд по внутренностям корутин, который поможет новичкам и не только понять как всё устроено: как реализованы приостановка и возобновление работы корутины, переключение потоков и базовые компоненты.
https://doordash.engineering/2021/11/09/the-beginners-guide-to-kotlin-coroutine-internals/
https://doordash.engineering/2021/11/09/the-beginners-guide-to-kotlin-coroutine-internals/
DoorDash Engineering Blog
The Beginner’s Guide to Kotlin Coroutine Internals
When our team started using Kotlin for our backend development we created this guide so our engineers could use coroutines over Java threads.
Как и в других UI фреймворках, рендер в Jetpack Compose проходит в несколько стадий — composition, layout, draw. Разбираемся, что происходит на каждом этапе, а также как мы можем писать наш код оптимальнее.
https://developer.android.com/jetpack/compose/phases
https://developer.android.com/jetpack/compose/phases
Подборка UI нововведений, которые ждут нас в Android 12L: обновленные системные приложения и элементы интерфейса, панель с быстрым доступом к приложениям, новые окна уведомлений и другие изменения.
https://www.xda-developers.com/android-12l-new-features-ui-changes/
https://www.xda-developers.com/android-12l-new-features-ui-changes/
XDA Developers
Here are all the new features and UI changes in Android 12L
Android 12L is expected to launch in the first half of 2022, and here are all of the new features and UI changes that we expect to see.
Таблица совместимости версий Kotlin между собой. Поможет понять получится ли использовать библиотеку с Kotlin 1.6 в проектах с более ранней версией, а также на какие параметры конфигурации стоит обратить внимание для лучшей совместимости.
https://blog.mbonnin.net/kotlin-compatibility-quicksheet
https://blog.mbonnin.net/kotlin-compatibility-quicksheet
Martin Bonnin's Blog
Kotlin compatibility QuickSheet
Edit: Blog post updated for Kotlin 1.7, see the last paragraph for details.
Kotlin 1.6 has just been released 🎉 (blog post). This is great news for everyone in the Kotlin ecosystem. As with every feature release, there are new features, new deprec...
Kotlin 1.6 has just been released 🎉 (blog post). This is great news for everyone in the Kotlin ecosystem. As with every feature release, there are new features, new deprec...
На Android 12 в список событий, вызывающих пересоздание Activity, добавилась смена обоев на рабочем столе.
https://commonsware.com/blog/2021/10/31/android-12-wallpaper-changes-recreate-activities.html
https://commonsware.com/blog/2021/10/31/android-12-wallpaper-changes-recreate-activities.html
CommonsWare: Android App Development Books
Android 12 Wallpaper Changes Recreate Your Activities
Android app development books
Продолжение серии статей про архитектурную секцию собеседований. В этой части разбирают задачу по проектированию библиотеки для кеширования данных.
https://proandroiddev.com/mobile-system-design-exercise-caching-library-8b3b5f1433cd
https://proandroiddev.com/mobile-system-design-exercise-caching-library-8b3b5f1433cd
Medium
Mobile System Design Exercise: Caching Library
The list of posts in this series:
Пробуем inline классы в популярных задачах Android разработки: работа с сетью, работа с базой данных и передача данных между экранами. Автор пришел к выводу, что из-за различных ограничений спектр их применения не так широк, как кажется на первый взгляд.
https://proandroiddev.com/kotlin-inline-classes-in-an-android-world-7147bb9b8a22
https://proandroiddev.com/kotlin-inline-classes-in-an-android-world-7147bb9b8a22
Medium
Kotlin Inline Classes in an Android World
The Kotlin Inline (Value) class is a relatively new feature of the Kotlin language as it recently got a stable release in Kotlin 1.5. I…
Подборка докладов с Android Dev Summit, рекомендуемых к просмотру: обновления Jetpack библиотек, правильная работа с Flow на уровне UI и нововведения Android Studio для Compose.
https://android-developers.googleblog.com/2021/11/ads21-modern-android-development.html
https://android-developers.googleblog.com/2021/11/ads21-modern-android-development.html
Android Developers Blog
#AndroidDevSummit ‘21: 3 things to know for Modern Android Development
Posted by Florina Muntenescu, Developer Relations Engineer From updates to Jetpack libraries, more guidance on using Kotlin cor...
Инструкция по оптимизации затрат на CI сервера для сборок Kotlin Multiplatform проектов. Основная идея — использовать macOS сервера только для сборки iOS артефактов, а для всего остального — Linux.
https://proandroiddev.com/optimising-ci-build-times-of-a-kotlin-multiplatform-project-2a430055f383
https://proandroiddev.com/optimising-ci-build-times-of-a-kotlin-multiplatform-project-2a430055f383
Medium
Optimising CI build times of a Kotlin Multiplatform project
The article describes how we can reduce costs of using CI and improve build times when building and publishing Kotlin Multiplatform.
Если вы используете ForegroundService, то возможно сталкивались в логах с крашем из-за метода
https://proandroiddev.com/when-your-app-makes-android-foreground-services-misbehave-8dbcc57dd99c
startForeground
, который не был вызван вовремя. В статье вы узнаете, что может вызвать такую ошибку и как её исправить.https://proandroiddev.com/when-your-app-makes-android-foreground-services-misbehave-8dbcc57dd99c
Medium
The “misbehaving” foreground service in Android
How blocking the main thread can lead to application crashes.
Заключительная статья из серии об управлении состоянием в Jetpack Compose. Небольшое напоминание о том, почему изменяемые объекты внутри MutableState или MutableStateFlow — плохой паттерн.
https://dev.to/zachklipp/two-mutables-dont-make-a-right-2kgp
https://dev.to/zachklipp/two-mutables-dont-make-a-right-2kgp
DEV Community
Two mutables don’t make a right
This post has moved to blog.zachklipp.com.
Шпаргалка по edge-to-edge: различные нюансы реализации, а также частые проблемы и их решения.
https://www.bloco.io/blog/edge-to-edge-101
https://www.bloco.io/blog/edge-to-edge-101
Bloco
Android Edge to Edge 101 – Bloco
Android users now expect their apps to look good fullscreen. No more black bars below the notch and the navigation. But the official documentation does not cover everything. Learn how you can become an Edge to Edge master.
Новая версия Kotlin 1.6 не совместима с версией R8, используемой в текущей версии AGP по умолчанию. Причины проблемы, а также пути её решения в статье.
https://www.reddit.com/r/androiddev/comments/r1saya/do_not_update_kotlin_16_on_your_android_project/
https://www.reddit.com/r/androiddev/comments/r1saya/do_not_update_kotlin_16_on_your_android_project/
Костыль от Chris Banes, исправляющий поведение
https://twitter.com/chrisbanes/status/1464212757952217090?s=27
ComposeView
с вложенным скроллом, при котором события скролла не передаются родителю. Например при использовании внутри CoordinatorLayout
или BottomSheet
.https://twitter.com/chrisbanes/status/1464212757952217090?s=27
Twitter
Chris Banes
Had to reach deep into my memory to create this workaround for nested scrolling view interop in #JetpackCompose This allows you to use nested scrolling layouts in a ComposeView, so that they dispatch the correct calls to view parents (AppBarLayout, etc).…
Автор пытается разобраться в проблемах и распространенных заблуждениях вокруг MVI и MVVM подходов. Вывод стандартный — идеальной архитектуры не существует.
https://funkymuse.dev/posts/the-story-of-mvi/
https://funkymuse.dev/posts/the-story-of-mvi/
FunkyMuse
The famous and unthought MVI misconception in Android, alongside MVVM
Blog containing Kotlin and Android goodies.