Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
Пообщался с Андреем Бреславом. Услышал о:
👉 Kotlin в Flutter
👉 Jetpack Compose
👉 Поддержке ReactNative
👉 Применение Kotlin/Multiplatform при разработке мобильных приложений

Очень надеюсь, что сможем с ним договориться о выступление с докладом в Минске в следующем году 🤞
Хочу узнать распределение аудитории по странам. Из какой страны вы?
Anonymous Poll
51%
Беларусь 🇧🇾
30%
Россия 🇷🇺
13%
Украина 🇺🇦
4%
Другая страна
2%
Запретить достук к геолокации 😀
#Kotlin #Contest

Kotlin Heroes Coding Contest

Хотите проверить свои навыки Kotlin программиста? JetBrains организовали соревнование по Kotlin, в рамках которого вам надо будет выполнить серию заданий.

Соревнование состоится 28 мая 2019 14:35 - 17:05 UTC
Сейчас можно пройти тренировку и посмотреть что вас ожидает
#Coroutines #CoroutinesOnAndroid

Coroutines On Android (part III): Real work

Продолжение серии статей об использование Kotlin Coroutines в Android. В этой части разбираются вопросы реального использования на примере задачи отображения отсортированного списка данных из БД с использование Room.
Классный стенд у GDG СПб на Mobius! Тут куча мини докладов, розыгрыш призов, а ещё я насыпал наклеек от канала.
#AndroidQ #GestureNavigation

Gesture Navigation – Edge Cases

В AndroidQ была представлена стандартные жесты для навигация (аля iOS). В статье обозревается новое API View.setSystemGestureExclusionRects(List<Rect>), которое позволяет сообщать системе в каком регионе View, нельзя распознавать жесты как системные.
#DependencyInjection #Kotlin

Koin 2.0 Release

Состоялся релиз Koin 2.0 - просто и чистого решения на Kotlin для dependency injection.

Лично для меня Koin - прекрасный выбор, так как он решает самые распространенные задачи DI в Android и еще больше наслаждаться Kotlin в проекте. Для Java также есть поддержка.

В новой версии произошли следующие изменения:
🎉Значительно улучшена скорость работы, что решило ее проблемы на слабых устройствах
🎉Новый DSL для инициализации

Поддержка многомодульных проектов
🎉Доступна загрузка/выгрузки модулей после инициализации
🎉 Объявление зависимостей на лету

Изменения, которые сломают вам простое обновление версии:
Вложенные модули для описания зависимостей больше не поддерживаются
Изменено описание scope
Изменено описание именованных зависимостей
#MobilePeopleTalks #Podcast

Mobile People Talks #5 - Android Q по следам Google I/O 19

Записали новый выпуск подкаста (технический). Мы немного обсудили прошедший Google IO (Саша Денисов рассказал нам о своих впечатлениях от палящего солнца), Pixel 3a, но основная часть подкаста была посвящена рассказе об Android Q от Кирилла Розова.
Android Broadcast
​#Course Android Architecture Masterclass video course Курс по архитектуре Android приложений, написанию чистого кода и разработке поддерживаемых приложений. Курс стоит $12. Курс состоит из следующих частей: 1️⃣ MVx архитектурные паттерны 2️⃣ MVx в Android…
Я давно обещал вам сделать обзор на этот курс. Досмотрел, но не дошел написать, извините 😢

Курс подойдет вам если вы только начинаете разбираться с архитектурой. Я для себя (опыт 7+ лет промышленной Android разработки) не нашел для себя ничего нового😔.

В рамках курса не раскрылись популярные решения и не хватало практики, хотя бы опросников по каждой из тем. Даже Junior разработчикам я объяснял бы архитектуру немного глубже по некоторым направлениям.

Моя оценка - 4/10 👎
#Dagger #ViewModel

Android. Less Dagger boilerplate code for ViewModel creation

Те кто писал Factory для ViewModel, у которой есть зависимости из графа и соединить весь Inject с Dagger 2, эти люди знают насколько там много boilerplate кода и как этот процесс неприятен.

Для тех кто не знает - посмотрите статью выше и поймите. В ней вы найдете рецепт как соединить Dagger и создание . ViewModel.

Cпойлер: сейчас в EPAM мы работает над библиотекой, которая будет генерировать весь этот код за вас
#Gradle #Optimizations

Советы по оптимизации Gradle в Android проектах. Ревизия 2019 года

Советы по следам Google I/O 2019:
👉В многомодульных проектах предпочитайте Java/Kotlin модули вместо Android модулей. Они собираются быстрее и лучше работает инкрементальная сборка
👉Применяйте только необходимые плагины
👉Избегайте непонятных плагинов
👉Мигрируйте на Kotlin 1.3.30 и включайте инкрементальный kapt
👉Запускайте Android Lint только на App модулях
👉Правильно настраивайте зависимости (api и implementation)
👉Описывайте версии зависимостей в одном месте в проекте
👉Используйте папку buildSrc для описания зависимостей
👉Кастомные плагины позволят сократить размер gradle файлов в проекте и ускорить сборку
👉Применяйте последние возможности Gradle API, например Lazy конфигурацию для тасков
👉Используйте Gradle Worker API
👉Создавайте таски кастомных типов
👉Не делайте длительных операций во время фазы конфигурации
👉Измеряйте скорость вашей сборки, чтобы искать узкие места. В этом вам помогут Build Scans, Gradle Profiler, Talaoit
#Gradle #Performance

Порой приходится иметь доступ к Android API в Java/Kotlin коде, и отказывать от чистого Java/Kotlin модулей в пользу Android Library проектов.

Есть способ более простой использовать Android API и не уходить от Java/Kotlin модуля - используйте AndroidJar Gradle плагин. Также можно подключить aar с помощью aar2jar Gradle плагина.
#Architecture #CleanArchitecture #ArchitectureComponents

How to implement a Clean Architecture on Android

"Повторение мать учения" - так можно сказать об этой статье, в которой рассказывается о Clean Architecture на примере Android приложения и рассказывает об обязанностях каждого из слоев и осуществление коммуникации между ними
Есть ли у вас подписка на Medium ?
Final Results
9%
Да
2%
Покупаю по надобности
33%
Разве он платный?
56%
Нет
#JetpackCompose

Android Jetpack Compose Review

Вы верите в Jetpack Compose? Пока он очень сырой и совсем не готов к использованию, но создал много шума. Можете изучить больше подробностей о будущем разработки UI на Android в статье
#Kotlin

Kotlin: Don’t just use LET for null check

Kotlin - язык с богатыми возможностями, который позволяет значительно упрощать различные рутинные операции из Java. Главное надо помнить о правиле Человека-Паука - любую фичу можно обернуть против себя и использовать ее неэффективно.

Как правильно проверить переменную на null if (variable != null) { /*Do something*/ } или variable?.let { /*Do something*/ } ?

Больше подробностей когда использовать let и когда нет читайте в статье
#CodeQuality

Gradle static analysis plugin

Чтобы качественно анализировать код вашего проекта надо подключать множество различных утилит. Плагин Gradle static analysis облегчает вашу работу, предоставляя простую настройку множества плагинов, которая включает в себя следующие утилиты:
👉 Checkstyle
👉 PMD
👉 FindBugs
👉 Detekt
👉 KtLint
👉 Android Lint

В процесс работы находятся:
👉 Spotbugs
👉 CPD
👉 Error Prone
👉 Jetbrains IDEA Inspections

Высокого качества кода вашему коду
#Dagger #DependencyInjection

Dagger 2.23 Release

Вышел Dagger 2.23. Релиз был направлен на исправление багов, улучшение скорости работы и причесывание API:
👉 Генерируемый код по умолчанию теперь не форматируется. Это позволяет ускорить кодогенерацию. Форматирование стоит включать в релизном билде
👉 Общее улучшение скорости сборки
👉 Генерируемый компонент теперь объявляются public в случае если компонент в вашем коде объявлен как public
👉 Более строгая валидация @BindsInstance
#Fresco #Facebook #Image #ProgressiveJPEG

Fresco — Android Image Library

Во современной разработке можно найти множество библиотек, которые решают задачи по загрузке картинок их кэшированию и эффективному отображению. Я уверен, что у всех на слуху, а то и в проекте, одна из библиотек Glide, Picasso и Universal Image Loader (UIL).

Есть решение, которое выделяется из этого списка - Fresco от Facebook. Ее ключевое отличие, что часть обработки изображений и кэширования написана на C/C++ и соответственно на нее не накладываются ограничения JVM. Это позволяет вашему приложению переживать больше OutOfMemory и работать быстрее.

Одной из крутых фичей библиотеки является поддержка Progressive JPEG изображений - отображение картинки постепенно при ее загрузке.

В статье вы найдете краткую вводную информацию, но а всех тех кто заинтересовался - больше подробностей в документации Facebook Fresco