Уже в понедельник, 19 апреля, стартует новый сезон Podlodka Android Crew!
Конференция как и всегда пройдет в формате двухнедельного интенсива. Темы этого сезона – “Многопоточность” и “Jetpack”.
🤯 Неделя “Многопоточность” говорит сама за себя. Разберемся, как она фундаментально работает, рассмотрим основные инструменты и ответим на вопрос, когда стоит выбрать RxJava, корутины или вообще остаться на чистых потоках. Бонус: публичное собеседование по многопоточности! После нашей конференции вам такие собесы будут не страшны💪
🚀 На второй неделе погружаемся в Android Jetpack. Под этим названием скрывается множество библиотек и инструментов: Compose, Workmanager, Paging3, Navigation и не только. Мы узнаем, что там есть полезного, как они устроены под капотом, и как затащить их к себе в проект с максимальной пользой.
Помимо докладов в программе множество нескучных форматов: рулетки кейсов, батлы, лайв-кодинги и не только. Кроме того, вы получите доступ к записям всех сессий, чтобы потом в любой удобный момент можно было освежить знания!
Крутые спикеры, общение в слаке с другими участниками и полезные сессии – все это уже с 19 апреля! Подключайтесь!
Конференция как и всегда пройдет в формате двухнедельного интенсива. Темы этого сезона – “Многопоточность” и “Jetpack”.
🤯 Неделя “Многопоточность” говорит сама за себя. Разберемся, как она фундаментально работает, рассмотрим основные инструменты и ответим на вопрос, когда стоит выбрать RxJava, корутины или вообще остаться на чистых потоках. Бонус: публичное собеседование по многопоточности! После нашей конференции вам такие собесы будут не страшны💪
🚀 На второй неделе погружаемся в Android Jetpack. Под этим названием скрывается множество библиотек и инструментов: Compose, Workmanager, Paging3, Navigation и не только. Мы узнаем, что там есть полезного, как они устроены под капотом, и как затащить их к себе в проект с максимальной пользой.
Помимо докладов в программе множество нескучных форматов: рулетки кейсов, батлы, лайв-кодинги и не только. Кроме того, вы получите доступ к записям всех сессий, чтобы потом в любой удобный момент можно было освежить знания!
Крутые спикеры, общение в слаке с другими участниками и полезные сессии – все это уже с 19 апреля! Подключайтесь!
podlodka.io
Онлайн-конференция Podlodka Android Crew, сезон #13
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам Android-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Разбираемся с многопоточностью в Kotlin Multiplatform проектах: используем примитивы для безопасной работы с состояниями и решаем проблему с многопоточными корутинами в iOS.
https://emmanuelkehinde.io/supporting-multithreaded-coroutines-in-a-kotlin-multiplatform-project/
https://emmanuelkehinde.io/supporting-multithreaded-coroutines-in-a-kotlin-multiplatform-project/
emmanuelkehinde.io
Supporting multithreaded coroutines in a Kotlin Multiplatform project - emmanuelkehinde.io
Concurrency happens to be a very important topic today in programming. Unfortunately, you encounter a different state and concurrency model for iOS once you
Реализуем Snackbar с действием на Jetpack Compose.
https://proandroiddev.com/implementing-snackbar-to-undo-actions-in-jetpack-compose-7b8ec92cf8a7
https://proandroiddev.com/implementing-snackbar-to-undo-actions-in-jetpack-compose-7b8ec92cf8a7
Medium
Implementing Snackbar to undo actions in Jetpack Compose
Snackbar is a great way to inform the use without interrupting the experience. In this article we will learn how to implement in Compose
Вышел релиз кандидат Kotlin 1.5.0, а это значит, что и стабильная версия уже не за горами, Все грядущие нововведения в одной статье: беззнаковые типы, расширения для работы со строками и коллекциями, математические операции и другие.
https://blog.jetbrains.com/kotlin/2021/04/kotlin-1-5-0-rc-released/
https://blog.jetbrains.com/kotlin/2021/04/kotlin-1-5-0-rc-released/
The JetBrains Blog
Kotlin 1.5.0-RC Released: Changes to the Standard and Test Libraries | The Kotlin Blog
Kotlin 1.5.0-RC is available with all the features planned for 1.5.0 – check out the entire scope of the upcoming release! New language features, stdlib updates, an improved testing library, and many
Быстродействие очень сильно влияет на общее впечатление от приложения. Серия статей, посвященной скорости работы приложений: от скорости запуска и отрисовки до времени отклика на действия пользователя.
https://dev.to/pyricau/android-vitals-tap-response-time-19mj
https://dev.to/pyricau/android-vitals-tap-response-time-19mj
DEV Community
Android Vitals - Tap Response Time 👉
Header image: Alone Together by Romain Guy. Android users expect apps to respond to their actions...
Новая серия статей из цикла MAD Skills, посвященная навигации.
https://medium.com/androiddevelopers/navigationui-d21fd4f5c318
https://medium.com/androiddevelopers/navigationui-d21fd4f5c318
Medium
NavigationUI
This is the second MAD Skills article series on Navigation. In this article we’ll take a look at another use case where UI components…
Иногда бывает необходимо уметь определять скриншоты приложения. Эта небольшая библиотека поможет решить данную задачу.
https://github.com/akexorcist/ScreenshotDetection
https://github.com/akexorcist/ScreenshotDetection
GitHub
GitHub - akexorcist/ScreenshotDetection: [Android] Screenshot detection while user using your app
[Android] Screenshot detection while user using your app - akexorcist/ScreenshotDetection
Jetpack DataStore призван заменить устаревшие SharedPreferences. Разбираемся как использовать новую библиотеку вместе с Kotlin Serialization.
https://medium.com/androiddevelopers/using-datastore-with-kotlin-serialization-6552502c5345
https://medium.com/androiddevelopers/using-datastore-with-kotlin-serialization-6552502c5345
Medium
Using DataStore With Kotlin Serialization
Up till now we’ve shared how to use DataStore with Protos or Preferences. Under the hood both DataStore versions use Protos to serialize…
Применяем ко View несколько стилей одновременно, как в CSS. Реализация немного костыльная, но интересно посмотреть на создание кастомного LayoutInflater и использования атрибута viewInflaterClass.
https://proandroiddev.com/assign-multiple-styles-to-a-single-view-in-android-just-like-in-css-815040be4c2b
https://proandroiddev.com/assign-multiple-styles-to-a-single-view-in-android-just-like-in-css-815040be4c2b
Medium
Assign multiple styles to a single View in Android just like in CSS
Speed up your Android app development by assigning multiple styles to a view just like in CSS
Android Runtime является основой, которая позволяет работать нашим приложениям. Разбираемся в деталях работы Dalvik и ART, эволюции системы с версиями ОС и как приложения оптимизируются после установки.
https://proandroiddev.com/android-runtime-how-dalvik-and-art-work-6e57cf1c50e5
https://proandroiddev.com/android-runtime-how-dalvik-and-art-work-6e57cf1c50e5
Medium
Android Runtime — How Dalvik and ART work?
In this article you’ll learn how Android Runtime works, what is ART, DALVIK, JIT and AOT and how runtime evolved to make our apps faster 🚀
Альянс ioXt, в которых входят Google, Amazon, Facebook и другие крупные компании, выпустил Mobile Application Profile, содержащий необходимый минимум требований к безопасности мобильных приложений. Разработчикам могут сертифицировать свои приложения для демонстрации безопасности.
https://android-developers.googleblog.com/2021/04/a-new-standard-for-mobile-app-security.html
https://android-developers.googleblog.com/2021/04/a-new-standard-for-mobile-app-security.html
Android Developers Blog
A New Standard for Mobile App Security
News and insights on the Android platform, developer tools, and events.
Продолжаем тему Functional Domain Modeling, на этот раз изучаем разницу между типами Either и Validated для проверки корректности работы бизнес логики.
https://www.47deg.com/blog/functional-domain-modeling-part-2/
https://www.47deg.com/blog/functional-domain-modeling-part-2/
Xebia
Functional Domain Modeling in Kotlin - Validation
Looking at validation as we continue learning to leverage Functional Domain Modeling to fully utilize the Kotlin type system and prevent bugs.
С приходом Jetpack Compose меняются подходы к навигации в многомодульных приложениях. Статья дает ответы на следующие вопросы: как реализовать навигацию между компонентами в разных модулях, как абстрагироваться от Compose Navigation в модулях, как связать компоненты и ViewModel с помощью Hilt и как тестировать логику навигации.
https://hitherejoe.medium.com/modular-navigation-with-jetpack-compose-fda9f6b2bef7
https://hitherejoe.medium.com/modular-navigation-with-jetpack-compose-fda9f6b2bef7
Medium
Modular Navigation with Jetpack Compose
A large amount of mobile apps will need some form of Navigation, allowing users to move between different parts of an application. When…
🌟 Вышло пятое ежегодное исследование популярности команд мобильной разработки! Вы узнаете:
- Насколько другие разработчики хотят работать в вашей компании и почему считают ее крутой
- На какие конференции ходят мобильные разработчики, какие каналы читают, за какими экспертами следят
- Сколько людей хочет релоцироваться и по каким причинам
- Как переход в онлайн сказался на популярности различных компаний
https://etolstoy.com/mobile-reputation-21/
- Насколько другие разработчики хотят работать в вашей компании и почему считают ее крутой
- На какие конференции ходят мобильные разработчики, какие каналы читают, за какими экспертами следят
- Сколько людей хочет релоцироваться и по каким причинам
- Как переход в онлайн сказался на популярности различных компаний
https://etolstoy.com/mobile-reputation-21/
Etolstoy
Известность команд мобильной разработки в 2021
Результаты большого опроса мобильщиков на 2021 год: в каких компаниях хотят работать, как их выбирают, на какие конференции ходят.
В скором времени в Room появятся автоматические миграции, которые избавят нас от написания ручных миграций для большинства кейсов, таких как: добавление / удаление колонки или таблицы, переименовывания и других операций.
https://medium.com/androiddevelopers/room-auto-migrations-d5370b0ca6eb
https://medium.com/androiddevelopers/room-auto-migrations-d5370b0ca6eb
Medium
Room auto-migrations
Easily move your tables between rooms
Вышел Dagger 2.35, главное нововведение — стабильный Hilt.
https://github.com/google/dagger/releases/tag/dagger-2.35
https://github.com/google/dagger/releases/tag/dagger-2.35
GitHub
Release Dagger 2.35 · google/dagger
What’s New in Hilt
Hilt is now stable!
This means that Hilt is ready for use in production. Thanks for all the feedback through our alpha and beta stages! From now on, Hilt will no longer have alph...
Hilt is now stable!
This means that Hilt is ready for use in production. Thanks for all the feedback through our alpha and beta stages! From now on, Hilt will no longer have alph...
Разбираемся как запустить Activity из уведомления, когда приложение убито, а устройство заблокировано, на примере приложения для видеозвонков.
https://medium.com/simform-engineering/how-to-manage-incoming-video-call-for-every-android-os-version-with-fcm-notifications-68b8f2e3c9eb
https://medium.com/simform-engineering/how-to-manage-incoming-video-call-for-every-android-os-version-with-fcm-notifications-68b8f2e3c9eb
Medium
How to manage incoming video call for every android OS version with FCM notifications
Along with video calls the blog also covers the management of firebase push notifications.
Делегерирование — одна из наиболее полезных особенностей языка Kotlin после null безопасности. Вспоминаем в каких случаях это может пригодиться и как это использовать. Спасибо за наводку @rostikjoystick.
https://blog.frankel.ch/kotlin-delegation/
https://blog.frankel.ch/kotlin-delegation/
A Java geek
A look at Kotlin's delegation
Kotlin offers many exciting features. In general, developers tend to cite null safety as their favorite. For me, it’s function extensions. But delegation comes a close second. The delegation pattern The delegation pattern is described in the GoF book:…
Гайд по созданию мобильной фермы для тестирования на основе Selenium Grid и Robot Framework.
https://developers.ascendcorp.com/how-to-build-mobile-farm-with-a-help-of-selenium-grid-and-robot-framework-e55530f795af
https://developers.ascendcorp.com/how-to-build-mobile-farm-with-a-help-of-selenium-grid-and-robot-framework-e55530f795af
Medium
How to build mobile farm with a help of Selenium Grid and Robot Framework
In this article i’m going to share my experience of of setting up mobile farm for running automation tests in simple steps.
Разработчики базы данных Realm выпустили Kotlin Multiplatform версию своей библиотеки с плагином для компилятора вместо рефлексии.
https://blog.jetbrains.com/kotlin/2021/04/realm-kotlin-multiplatform-sdk/
https://blog.jetbrains.com/kotlin/2021/04/realm-kotlin-multiplatform-sdk/
The JetBrains Blog
Realm Kotlin Multiplatform SDK | The Kotlin Blog
Nabil Hachicha, Android Engineer, from MongoDB Realm shares their story of creating a pure Kotlin-first SDK for use by developers. Realm is an open-source, easy-to-use local database that helps mobil