Плейлист со всеми докладами конференции Android Dev Summit 2021, прошедшей на этой неделе.
https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_KamvEnBDJrBptAfQni7Ig
https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_KamvEnBDJrBptAfQni7Ig
Набор советов по написанию и оптимизации юнит тестов: как распознать и исправить некорректные тесты и как уменьшить количество тестов без потерь покрытия и полноты.
https://betterprogramming.pub/are-your-unit-tests-getting-redundant-heres-how-to-write-them-effectively-a4d98234ec94
https://betterprogramming.pub/are-your-unit-tests-getting-redundant-heres-how-to-write-them-effectively-a4d98234ec94
Medium
Are Your Unit Tests Getting Redundant? Here’s How To Write Them Effectively
A compelling reason for less work in a busy life
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Podlodka Bot)
Публикуем записи двух докладов Podlodka Android Crew #6.
🔐 Разбираемся с простыми, но примечательными security-багами.
👀 Рассказываем о мониторинге приложения в проде.
📹 Доклад: "Стряхиваем низковисящие уязвимости с мобильного приложения".
- Мисконфиги настроек сети,
- утечки ключей и токенов, тестовых данных в релизных сборках.
Автоматизируем поиск security-багов.
📹 Доклад: "Мониторинг приложения в проде".
Рассказываем, как мониторить не только crash-free приложения, но и клиент-серверное взаимодействие.
Зачем это нужно и как может помочь быстродействию приложения.
Изучим Sentry, Grafana, Kibana и другие сервисы.
За открытые сессии благодарим нашего генерального партнёра — СберМаркет! 💚🛒
🔐 Разбираемся с простыми, но примечательными security-багами.
👀 Рассказываем о мониторинге приложения в проде.
📹 Доклад: "Стряхиваем низковисящие уязвимости с мобильного приложения".
- Мисконфиги настроек сети,
- утечки ключей и токенов, тестовых данных в релизных сборках.
Автоматизируем поиск security-багов.
📹 Доклад: "Мониторинг приложения в проде".
Рассказываем, как мониторить не только crash-free приложения, но и клиент-серверное взаимодействие.
Зачем это нужно и как может помочь быстродействию приложения.
Изучим Sentry, Grafana, Kibana и другие сервисы.
За открытые сессии благодарим нашего генерального партнёра — СберМаркет! 💚🛒
YouTube
Доклад: Стряхиваем низковисящие уязвимости с мобильного приложения / Дмитрий Терешин (СберМаркет)
Расскажу о простых, но интересных security-багах, существующих в мобильных приложениях, таких, как:
- мисконфиги настроек сети,
- утечки ключей и токенов,
- тестовых данных в релизных сборках.
И как можно автоматизировать их поиск.
Понравилось видео и…
- мисконфиги настроек сети,
- утечки ключей и токенов,
- тестовых данных в релизных сборках.
И как можно автоматизировать их поиск.
Понравилось видео и…
Сравнение производительности нового чипа M1 Pro в классических задачах Android разработки: сборка проектов, работа Android Studio и Figma. Про время работы от аккумулятора тоже не забыли.
https://gpeal.medium.com/the-m1-pro-for-android-engineers-a144093aa1ec
https://gpeal.medium.com/the-m1-pro-for-android-engineers-a144093aa1ec
Medium
The M1 Pro for Android Engineers
How well do the new M1 Pro MacBooks stack up for Android Development?
В Material Components 1.5.0 были добавлены компоненты Material Design 3, которые уже сейчас можно посмотреть в альфа версии библиотеки. В статье собраны изменения по сравнению с Material 2, а также приведена инструкция по миграции.
https://material.io/blog/migrating-material-3
https://material.io/blog/migrating-material-3
Material Design
Migrating to Material Design 3 - Material Design
Learn how to migrate to our newest updates
Отличная статья Тагира Валеева про поиск edge cases статического анализа при реализации новой инспекции для Kotlin.
https://habr.com/ru/company/JetBrains/blog/586890/
https://habr.com/ru/company/JetBrains/blog/586890/
Хабр
Сделать статический анализ умным — полдела, потом его надо делать глупым
Одна из проблем статического анализа в том, что его легко сделать умнее, чем надо. В результате он начинает выдавать предупреждения в таком коде, который человеку кажется нормальным. И так и хочется...
Небольшой гайд по настройке автоматических отчетов по устаревшим зависимостям на базе 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.