Небольшой гайд по настройке автоматических отчетов по устаревшим зависимостям на базе GitHub Actions. А как вы следите за актуальностью зависимостей на своем проекте?
https://proandroiddev.com/send-scheduled-gradle-dependency-update-report-emails-with-github-actions-8a392eee2384
https://proandroiddev.com/send-scheduled-gradle-dependency-update-report-emails-with-github-actions-8a392eee2384
Medium
Send scheduled Gradle dependency update report emails with Github Actions
Gradle has a cool feature, it prompts a warning to us when our dependency has a newer version available. Here is an example:
🔥 Podlodka's Hot News: Второй сезон Soft Skills Crew стартует в новом формате однонедельной конференции.
Стартуют 15 ноября.
Сессии проводят дважды в день: утром и вечером.
В программе: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).
Тема недели Общение с руководством:
– Поймете, как презентовать результаты работы руководителю
– Узнаете, как строить продуктивный диалог в сложных кейсах
– Научитесь договариваться о повышении или прибавке
Подробности и билеты уже на сайте! Успевайте до конца недели, пока действует приятная скидка🤘
Стартуют 15 ноября.
Сессии проводят дважды в день: утром и вечером.
В программе: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).
Тема недели Общение с руководством:
– Поймете, как презентовать результаты работы руководителю
– Узнаете, как строить продуктивный диалог в сложных кейсах
– Научитесь договариваться о повышении или прибавке
Подробности и билеты уже на сайте! Успевайте до конца недели, пока действует приятная скидка🤘
podlodka.io
Онлайн-конференция Podlodka Soft Skills Crew, сезон #5
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Коллекция примеров использования TensorFlow Lite пополнилась новым приложением, демонстрирующим насколько просто встроить обучение с подкреплением в Android проект на примере аналога игры в морской бой.
https://blog.tensorflow.org/2021/10/building-board-game-app-with-tensorflow.html
https://blog.tensorflow.org/2021/10/building-board-game-app-with-tensorflow.html
blog.tensorflow.org
Building a board game app with TensorFlow: a new TensorFlow Lite reference app
In this blog post, we will show you how to train a game agent using reinforcement learning using TensorFlow and TensorFlow Agents, and deploy it.
Продолжая тему Material 3, шпаргалка, которая поможет адаптировать иконку вашего приложения под стандарты Android 12. Сменные цвета системы — ещё один пункт, который придется брать в расчет при создании дизайна приложения.
https://cpaleop.medium.com/implement-material-you-themed-launcher-icons-1d5956c0129a
https://cpaleop.medium.com/implement-material-you-themed-launcher-icons-1d5956c0129a
Medium
Implement Material You Themed Launcher Icons
Google recently announced it’s new design system Material You. Basically, it generates a color palette based on your wallpaper, or by…
Производительность приложений складывается не только из метрики крашей, но также из общей скорости работы и отзывчивости приложения. В статье разработчики Lyft рассказывают историю внедрения этих метрик в свои процессы.
https://eng.lyft.com/mobile-performance-lyft-68d0e5185024
https://eng.lyft.com/mobile-performance-lyft-68d0e5185024
Medium
Mobile Performance @ Lyft
In Q2 of 2021, Lyft served 17.1 million active riders through our suite of mobile applications. At this scale, every crash, frozen frame…
Google объединила все библиотеки, связанные с воспроизведением контента, включая ExoPlayer, в группу библиотек Jetpack Media3. Мотивация, содержимое новых библиотек и другие нововведения в статье.
https://android-developers.googleblog.com/2021/10/jetpack-media3.html
https://android-developers.googleblog.com/2021/10/jetpack-media3.html
Android Developers Blog
Introducing Jetpack Media3
Posted by Don Turner , Developer Relations Engineer Introducing Jetpack Media3 Today, we're launching the fir...
Очередная счастливая история миграции с Gson на более Kotlin совместимое решение для сериализации Json. Команда Trello рассказывает, как они пошагово переходили на Moshi.
https://blog.danlew.net/2021/11/01/how-trello-android-converted-from-gson-to-moshi/
https://blog.danlew.net/2021/11/01/how-trello-android-converted-from-gson-to-moshi/
Dan Lew Codes
How Trello Android converted from Gson to Moshi
Trello Android recently converted from using Gson
[https://github.com/google/gson] to Moshi [https://github.com/square/moshi] for
handling JSON. It was a bit tricky so I wanted to document the process.
(For context, Trello Android primarily parses JSON.…
[https://github.com/google/gson] to Moshi [https://github.com/square/moshi] for
handling JSON. It was a bit tricky so I wanted to document the process.
(For context, Trello Android primarily parses JSON.…
Шпаргалка по работе с git клиентом, встроенном в Android Studio: от простых коммитов до разрешения конфликтов. Возможно она убедит вас дать Android Studio еще один шанс.
https://coroutinedispatcher.com/posts/git_from_android_studio/
https://coroutinedispatcher.com/posts/git_from_android_studio/
Coroutinedispatcher
Using git from Android Studio. A quick guide.
We all know how important version control is. One can save a lot of time in case conflicts occur or things go really bad. But we can still argue which tool is the best for using Git. That’s because Git in general is abstract, and visualizing it is somehow…
Получаем аргументы, с которыми был открыт Fragment или Activity, во
https://sasikanth.dev/posts/hilt-viewmodel-screen-args
ViewModel
через SavedStateHandle
.https://sasikanth.dev/posts/hilt-viewmodel-screen-args
Обновленный чеклист, который позволит ускорить сборку вашего проекта: AGP 7, параллельные сборки и кеширование всего подряд, нетранзитивные R классы, отключение ненужных плагинов в debug сборках и другие советы.
https://proandroiddev.com/how-we-reduced-our-gradle-build-times-by-over-80-51f2b6d6b05b
https://proandroiddev.com/how-we-reduced-our-gradle-build-times-by-over-80-51f2b6d6b05b
Medium
How we reduced our Gradle build times by over 80%
Lessons learned from trying to cut down the build times of our Android project
Недавно вышло обновление библиотеки lifecycle-runtime-ktx с расширениями repeatOnLifecycle и flowWithLifecycle, которые решили большую часть вопросов при работе с Flow на уровне UI. Автор решил доработать новое API, чтобы избавится от перезапуска холодных Flow при возврате UI в активное состояние.
https://dev.to/hichamboushaba/making-callback-flows-lifecycle-aware-2dai
https://dev.to/hichamboushaba/making-callback-flows-lifecycle-aware-2dai
DEV Community 👩💻👨💻
Making cold Flows lifecycle-aware
With the introduction of SharedFlow and StateFlow, many developers are migrating from LiveData in the...
Обновился роадмап Kotlin. Из интересных новых штук:
- Начат рисерч по неймспейсам, которые решат старую проблему статиков
- Поддержка inline sealed classes
- Стартуют работы по стабилизации Compiler plugin API
- В КММ перед Бетой фокус на стабильность
- Улучшения в Kotlin daemon
- Стабилизация плагина для тест кавереджа kotlinx-kover
https://kotlinlang.org/docs/roadmap.html
- Начат рисерч по неймспейсам, которые решат старую проблему статиков
- Поддержка inline sealed classes
- Стартуют работы по стабилизации Compiler plugin API
- В КММ перед Бетой фокус на стабильность
- Улучшения в Kotlin daemon
- Стабилизация плагина для тест кавереджа kotlinx-kover
https://kotlinlang.org/docs/roadmap.html
YouTrack
Research and prototype namespace-based solution for statics and static extensions : KT-11968
UPDATE: The design proposal on Kotlin statics and static extensions is published for discussion. See [KEEP-348](https://github.com/Kotlin/KEEP/issues/348). December 2022 Instead of a separate item in the public roadmap, we’ll have [an umbrella ticket](ht…
Сравнение удобности различных подходов к представлению состояния сложных экранов. Среди вариантов: единый data class, sealed классы, LiveData на каждое свойство и решение на базе Mavericks от Airbnb.
https://gpeal.medium.com/modeling-android-screens-as-state-97aa5511657d
https://gpeal.medium.com/modeling-android-screens-as-state-97aa5511657d
Medium
Modeling Android Screens as State
Comparing different structures of modeling a screen as state in Android.
SwiftUI является аналогом Jetpack Compose в мире iOS разработки. Автор решил узнать в чем схожи и чем отличаются два декларативных фреймворка в контексте основных концепций, а также в управлении состоянием и работе с многопоточностью.
https://codingwithmohit.com/mobile/jetpack_compose_vs_swiftui/
https://codingwithmohit.com/mobile/jetpack_compose_vs_swiftui/
Coding with Mohit
Jetpack Compose vs SwiftUI
In this article, we’ll learn about similarities and differences of Jetpack Compose and SwiftUI.
Заскакиваем на новое публичное собеседование. В этот раз – на роль СТО!
https://youtu.be/4D2ZYWHtR5w
https://youtu.be/4D2ZYWHtR5w
YouTube
Собеседование на СТО. Алексей Шаграев и Тоня Жукова
Мы видели много публичных собесов на должность разработчика, старшего разработчика или даже тимлида. А как проходят собеседования на роль CTO? Чем они отличаются от собеседования рядового разработчика? О чём говорят CEO и CTO при первом знакомстве и как вообще…
Набор советов, который поможет сделать WebView в вашем приложении более безопасным: не включайте JavaScript без большой необходимости, не давайте доступ к файлам, используйте safe browsing и certificate pinning, очищайте кэш и сессии.
https://www.securing.pl/en/webview-security-issues-in-android-applications/
https://www.securing.pl/en/webview-security-issues-in-android-applications/
Securing
WebView security issues in Android applications - Securing
WebView is in common use in Android applications. Although default configuration is secure, developers tend to introduce changes in its configuration which may introduce security risks. Here you will find tips on how to use WebView with security in mind.
Пополняем книгу рецептов по Jetpack Compose еще одной заметкой. В статье рассказывается как реализовать элемент ExpandableText, который будет разворачиваться и сворачиваться по нажатию.
https://proandroiddev.com/expandabletext-in-jetpack-compose-b924ea424774
https://proandroiddev.com/expandabletext-in-jetpack-compose-b924ea424774
Medium
ExpandableText in Jetpack Compose 🚀
How to dynamically add a Show More / Show Less string to a clickable-expanding Text when it exceeds certain amount of lines.
Автор решил переосмыслить понятие хорошей архитектуры для мобильных приложений. В основу легли: конечные автоматы, unidirectional data flow, концепции из redux, абстракции над многопоточностью и тонкие View. Что из этого вышло — в статье.
https://doridori.github.io//Android-Architecture-Runtime/
https://doridori.github.io//Android-Architecture-Runtime/
doridori.github.io
Android Architecture: Runtime Centric Thinking
For at least 7 years I have been playing with “alternative” Android architectures in a professional context. This blog post is a brief overview to an architecture I have been using for the last two production projects for which I was Android Lead and outlines…
Системный подход к валидации пользовательского ввода, который позволит легко переиспользовать код для различных сценариев.
https://medium.com/huawei-developers/how-to-easily-validate-user-inputs-on-android-80c8e5744de7
https://medium.com/huawei-developers/how-to-easily-validate-user-inputs-on-android-80c8e5744de7
Medium
How to Easily Validate User Inputs on Android?
Introduction
Инструкция по приготовлению современного проекта с многомодульной архитектурой и Jetpack Compose. Отдельно оговаривается как реализовать навигацию и dependency injection между модулями.
https://proandroiddev.com/navigating-through-multi-module-jetpack-compose-applications-6c9a31fa12b6
https://proandroiddev.com/navigating-through-multi-module-jetpack-compose-applications-6c9a31fa12b6
Medium
Navigating through multi-module Jetpack Compose applications
Designing a scalable architecture for multi-module Jetpack Compose apps