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

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#Flutter #Dart #Crossplatform

FlutterLive

Недавно прошла конференция от Google FlutteLive, в рамках нее Flutter показали первый стабильный релиз, рассказали впечатляющую статистику платформы Flutter. Также было показан план на мировое господство аля Flutter везде:
👉 Mobile: Android/iOS
👉 Web
👉 Descktop: Mac/Windows/Linux
👉 IoT: заявлена о поддержке Rasberry Pi

Хороший обзор итогов был сделан Евгением Котом
Детальный разбор того, что Google показал на конференции FlutterLive (и что это значит для Dart и мира)
#Images

"Understanding Android Matrix transformations" Maria Neumayer

Хороший разбор о том как стандартными средствами Android с помощью Matrix можно выполнять преобразования изображений в Android.

В статье рассказывается о:
👉 Смещение
👉 Масштабирование
👉 Повороте
👉 Искажение
👉 Применение нескольких трансформаций одновременно
#Dagger #DependencyInjection #Performance

"Deep Dive into Dagger Lazy" Marcos Holgado (6 минут чтения)

Dagger 2 имеет возможность получать зависимости отложено (lazy). Это позволяет не загружать множество зависимостей при первом старте приложения/компонента. Но насколько эффективно это?

У автора статьи получилось это показать на примере, но также автор приводит почему не стоит использовать Lazy как панацею для ускорения старта.
#Coroutines #BestPractices

"Kotlin Coroutines patterns" от Dmytro Danylyk

Coroutine наделали много шума в асинхронном программирование, особенно в Android. Я слышал о многоих проектах кто уже их использует в релизных версиях приложений либо тем что втягивает их. Но как и любая новомодная библиотека разработчики не всегда понимают до конца как стоит ее использовать.

В статье вы найдете советы как стоит использовать coroutine и что не стоит.
#VectorDrawable #Images #AndroidX

Part 3: "Using vector assets in Android apps"
Part 2: "Draw a Path: Rendering Android VectorDrawables"
Part 1: "Understanding Android’s vector image format: VectorDrawable"

Продолжение серии статей от Nick Butcher (https://twitter.com/crafty)/Google о том как работает векторная графика в Android. Из нового поста вы узнаете:
👉 Что дает поддержка VectorDrawable в AndroidX
👉 Почему стоит использовать VectorDrawableCompat
👉 Как включить VectorDrawable из AndroidX
👉 Как добавить поддержку VectorDrawableCompat для любого аттрибута в layout XML.
👉 Ограничения реализации VectorDrawableCompat в вложенных drawable (StateListDrawable, InsetDrawable, LayerDrawable)

Важно помнить
👉 если вы не включите поддержку supprt vector drwable у себя в проекте то для всех API ниже 25 у вас буду генерироваться растровые варианты векторных изображений для старых версий API.
👉 Используйте app:srcCompat вместо android:src атрибута для изобравжение в ImageView
#Architecture #BestPractices

"10 things every Android app developer should know about Architecture" by Ashesh Bharadwaj

Статья о 10 вещах, которые помогут вам лучше понимать архитектуру:
1️⃣ Архитектура незхависима от языка или платформы
2️⃣ Недопонимание MV(Any) подходов
3️⃣ Архитектура важна, но не является необходимой
4️⃣ Архитекутра упрощает добавление нового функционала или модификации существующего
5️⃣ Архитектура не требует специальных знаний, как фреймворки или библиотеки
6️⃣ Архитекутра требует придерживания правил и терпения
7️⃣ Android Architecture Components упрощает реализацию архитектуры на Android
8️⃣ Каждому разработчику не надо быть Архитектором
9️⃣ Наличие архитектуры приносит ряд преимуществ для проекта
🔟 Что стоит изучить для построения хорошей архитектуры в проекте
#Library #Kotlin #AnnotationProcessing

KotlinPoet Github by Square

Вышла стабильная версия библиотеки KotlinPoet 1.0.0. Теперь стало проше генерировать исходники на Kotlin.
#Library

"The Best Android SDK Tools of The Year" by AppSee

Сервис аналитики AppSee выбрали лучше Android SDK. В него попали:
1️⃣ Платежи – Braintree
2️⃣ Аналитика– Appsee (кто бы сомневался 😁)
3️⃣ Анализ производительности - Instabug
4️⃣ Attribution - Appsflyer
5️⃣ Аналитика крешей - Crashlytics
6️⃣ Анализ удовлетворенности пользователя - Apptentive
7️⃣ Реклама - Mopub
8️⃣ A/B тестирование - Apptimize
9️⃣ Геопозиционирование - Radar
#AOSP #Fuchsia

Google добавил Fuchsia в Android Open Source Project AppTracktor

Новые звоночки о Fuchsia - появились папки под Fuchsia:
👉 platform/prebuilts/fuchsia_sdk
👉 device/google/fuchsia

Пока папки пустые, ждем что в них появиться
Главные тренды мобильной разработки в 2019 от AppTrackor

Знание будущего - легкий способ заработать денег. Однако предсказать его не так просто, но решили попробовать предсказать мобильные тренды:

👉 Машинное обучение и искусственный интеллект: позволяет улучшить любое приложение, вывести персонализацию работы приложения на новый уровень и множество других сфер применения AI.

👉 Android Instant App: более быстрый доступ к контенту и возможность попробовать приложение или игру без установки - это то что больше и больше хотят пользователи

👉 Персонализация vs GDPR: борьба знания сервисов о вас больше против защиты данных будет все острее и приложениям надо адаптироваться

👉 UX: От сложного к простому: более минималистичный дизайн, элементы управления внизу экрана из-за экранов 18:9+ и пр.

👉 Новые способы монетизации
👉 Усиленная защита мобильных приложений
#Library

"A Confusing Dependency"

Пиратсво дошло до новых верших - уже начали подделывать библиотеки ). История о том как важно подключать проверенные репозитории и их порядок объявления репозиториев в Gradle.
#Services #MemoryManagement #WorkManager

"Effective foreground services on Android" by Keith Smyth

Статья немного о приоритетах процессов приложений при очистке памяти, немного о том когда стоит делать Foreground Service, о том когда не стоит этого делать и что использовать в этих случаях.
Приоритеты процессов приложений при очистке памяти
#BKUG #Kotlin #Meetup

Отчет о BKUG #11

11 декабря прошел митап сообщества Belarus Kotlin User Groupd (BKUG). Было рассказано о
👉 новинках в Kotlin 1.3
👉 опыт перехода на Kotlin в Android и о том как развивался язык, и о том как Kotlin упросщает Android разработку
👉 R2DBC - корутины для БД
#LibUpdates #AndroidX #Testing

Вышла новая версия библиотеки AndroidX Test 1.1.0

В рамках обновления новинки появились в:
👉 test-core
👉 Espresso
👉 JUnit4 Rules
👉 Runner
👉 Truth

Все библиотеки понемногу были улучшены, улучшена поддержка Robolectric, Android 9.0 и представлено ActivityScenario API. Оно позволяет запускать Activity во время тестов и проводить ее через весь жизненный цикл. Аналогичное API появилось для Fragment - FragmentScenario. Все это поддерживается Robolectric!

Примеры работы с новым API:
@RunWith(AndroidJUnit4::class)
class MyTestSuite {
@Test fun testEvent() {
val scenario = ActivityScenario.launch(MyActivity::class.java)
scenario.moveToState(State.CREATED)
}
}


@RunWith(AndroidJUnit4::class)
class MyTestSuite {
@Test fun testEvent() {
val scenario = ActivityScenario.launch(MyActivity::class.java)
scenario.recreate()
}
}
#Architecture #MVVM #MVP

Различия между MVVM и остальными MV*-паттернами

Хорошая статья в рамках которой автор показал историю развития MV(Any) паттернов, так и различия между ними и ошибки в понимание.

Вы найдете информацию о:
👉 MVC (Model-View-Controller)
👉 MVP (Model-View-Presenter) в 2 вариациях
👉 Passive View
👉 Supervising Controller
👉Presentation Model
👉MVVM (Model-View-ViewModel)

Presentation Model описывает подход, который использует Google для архитектуры на основе Architecture Components в Android.

Помните самое главное - нет правильной архитектуры, есть только та, которая эффективно решит задачу вашего приложения, и возможно она вполне будет за рамками этого списка. Напишите о ней в @android_broadcast_discussions и я расскажу о ней в канале.