Android Good Reads
3.88K subscribers
344 photos
13 videos
1 file
2.01K links
Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Автор канала: @Lamprof

Размещение рекламы: @tanyasanovna
Download Telegram
🔥 Podlodka's Hot News: Второй сезон Soft Skills Crew стартует в новом формате однонедельной конференции.

Стартуют 15 ноября.

Сессии проводят дважды в день: утром и вечером.
В программе: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).

Тема недели Общение с руководством:
– Поймете, как презентовать результаты работы руководителю
– Узнаете, как строить продуктивный диалог в сложных кейсах
– Научитесь договариваться о повышении или прибавке

Подробности и билеты уже на сайте! Успевайте до конца недели, пока действует приятная скидка🤘
Коллекция примеров использования TensorFlow Lite пополнилась новым приложением, демонстрирующим насколько просто встроить обучение с подкреплением в Android проект на примере аналога игры в морской бой.
https://blog.tensorflow.org/2021/10/building-board-game-app-with-tensorflow.html
Продолжая тему Material 3, шпаргалка, которая поможет адаптировать иконку вашего приложения под стандарты Android 12. Сменные цвета системы — ещё один пункт, который придется брать в расчет при создании дизайна приложения.
https://cpaleop.medium.com/implement-material-you-themed-launcher-icons-1d5956c0129a
Производительность приложений складывается не только из метрики крашей, но также из общей скорости работы и отзывчивости приложения. В статье разработчики Lyft рассказывают историю внедрения этих метрик в свои процессы.
https://eng.lyft.com/mobile-performance-lyft-68d0e5185024
Google объединила все библиотеки, связанные с воспроизведением контента, включая ExoPlayer, в группу библиотек Jetpack Media3. Мотивация, содержимое новых библиотек и другие нововведения в статье.
https://android-developers.googleblog.com/2021/10/jetpack-media3.html
Очередная счастливая история миграции с Gson на более Kotlin совместимое решение для сериализации Json. Команда Trello рассказывает, как они пошагово переходили на Moshi.
https://blog.danlew.net/2021/11/01/how-trello-android-converted-from-gson-to-moshi/
Шпаргалка по работе с git клиентом, встроенном в Android Studio: от простых коммитов до разрешения конфликтов. Возможно она убедит вас дать Android Studio еще один шанс.
https://coroutinedispatcher.com/posts/git_from_android_studio/
Получаем аргументы, с которыми был открыт Fragment или Activity, во 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
Недавно вышло обновление библиотеки lifecycle-runtime-ktx с расширениями repeatOnLifecycle и flowWithLifecycle, которые решили большую часть вопросов при работе с Flow на уровне UI. Автор решил доработать новое API, чтобы избавится от перезапуска холодных Flow при возврате UI в активное состояние.
https://dev.to/hichamboushaba/making-callback-flows-lifecycle-aware-2dai
Сравнение удобности различных подходов к представлению состояния сложных экранов. Среди вариантов: единый data class, sealed классы, LiveData на каждое свойство и решение на базе Mavericks от Airbnb.
https://gpeal.medium.com/modeling-android-screens-as-state-97aa5511657d
SwiftUI является аналогом Jetpack Compose в мире iOS разработки. Автор решил узнать в чем схожи и чем отличаются два декларативных фреймворка в контексте основных концепций, а также в управлении состоянием и работе с многопоточностью.
https://codingwithmohit.com/mobile/jetpack_compose_vs_swiftui/
Набор советов, который поможет сделать WebView в вашем приложении более безопасным: не включайте JavaScript без большой необходимости, не давайте доступ к файлам, используйте safe browsing и certificate pinning, очищайте кэш и сессии.
https://www.securing.pl/en/webview-security-issues-in-android-applications/
Пополняем книгу рецептов по Jetpack Compose еще одной заметкой. В статье рассказывается как реализовать элемент ExpandableText, который будет разворачиваться и сворачиваться по нажатию.
https://proandroiddev.com/expandabletext-in-jetpack-compose-b924ea424774
Автор решил переосмыслить понятие хорошей архитектуры для мобильных приложений. В основу легли: конечные автоматы, unidirectional data flow, концепции из redux, абстракции над многопоточностью и тонкие View. Что из этого вышло — в статье.
https://doridori.github.io//Android-Architecture-Runtime/
Системный подход к валидации пользовательского ввода, который позволит легко переиспользовать код для различных сценариев.
https://medium.com/huawei-developers/how-to-easily-validate-user-inputs-on-android-80c8e5744de7
Инструкция по приготовлению современного проекта с многомодульной архитектурой и Jetpack Compose. Отдельно оговаривается как реализовать навигацию и dependency injection между модулями.
https://proandroiddev.com/navigating-through-multi-module-jetpack-compose-applications-6c9a31fa12b6
ManyChat ищет в команду крепкого Android-разработчика

ManyChat — это платформа для автоматизации маркетинга в Instagram, Facebook Messenger и WhatsApp, которая помогает 1+ млн бизнесов строить осмысленную коммуникацию с клиентами.

Сейчас ManyChat активно развивает мобильное направление, и ищет человека, который возьмёт на себя амбициозную задачу: реализовать визуальный конструктор автоматизаций чатов.

Пишите @SashaKislinskaya, если вы:

- Знаете и используете Kotlin (плюсом будет oroutines, flow, KMM);
- Имеете опыт работы со следующими технологиями/инструментами/компонентами:
- Android: Activity, Fragment, RecyclerView
- Jetpack: navigation, room, datastore, compose
- REST/WebSocket: Retrofit/OkHttp
- JSON: Moshi
- DI: Dagger2/Hilt
- Паттерны MV**
- Знакомы с алгоритмами и структурами данных из Computer Science;
- Способны самостоятельно обучаться;
- Умеете чётко аргументировать свои решения.

Подробнее о вакансии можно узнать здесь