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
#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 и я расскажу о ней в канале.
#ArchitectureComponents #MVVM #Architecture

"MVVM with architecture components: a step by step guideline for MVP lovers" by Antonio Leiva

Давным давно в мире Android до Google I/O 2017 в архитектуре Android приложений преимущественно использоваться паттерн MVP, но появление Architecture Component (Arch Comp) начало склонять часу весов в сторону MVVM.

Если вы хотите перейти с MVP на MVVP в вашем приложение, то вам поможет стать от Antonio Leiva, в которой он описал способ миграции на Arch Comp.
#DependencyInjection #Koin #Performance

"News from the trenches — What’s next for Koin?" by Arnaud Giuliani

Я большой фанат Dependency Injection (DI) решения на Kotlin - Koin. Почему он мне нравится? Как много расширенного функционала из Dagger 2 вы используете? Из личного опыта я видел много проектов где это не было нужно. Так зачем использовать ракету чтобы перейти улицу 🤔? Поэтому я и предпочитаю Koin для простых проектов.

Я делал доклад по Koin, запись которого вы можете найти здесь.

В статье описывается, что нас ждет в Koin 2.0 🔥. Основные изменения будут:
👉Улучшение производительности на Android 🚀
👉Более удобное API для инициализации
👉Движение в сторону поддержки работы Kotlin Multiplatform Project (финальная поддержка ожидается в Kotlin 2.1)
👉Будет убрана часть функционала в объявление модулей для упрощения работы с ними: вложенные модули, имена модулей и др.
👉Разделение на глобальный (приложение) и локальный (модули/библиотеки) контексты для работы с Koin в многомодульных приложения и SDK.
Какую Dependency Injection/Service Locator библиотеку используете вы?
anonymous poll

Dagger 2 – 28
👍👍👍👍👍👍👍 54%

Koin – 17
👍👍👍👍 33%

Другое – 5
👍 10%

Kodein – 2
👍 4%

Dagger 1 by Square
▫️ 0%

Custom
▫️ 0%

👥 52 people voted so far. Poll closed.
#Flutter #Dart #Android

MythBuster : 10 Rumors about Flutter, why it’s not worse than Android+Kotlin?

Flutter набирает все большую популярность, формируется сообщество, любители ну и без хейтеров не обходится. В статье автор разрушает самые популярные мифы о Flutter, а именно:

1️⃣ Пользователь заметит, что приложение нативное либо нет
2️⃣ Dart странный язык
3️⃣ Иерархия виджетов во Flutter трудночитаемая
4️⃣ На Flutter вы не можете использовать Gson или Moshi
5️⃣ На Flutter нет корутин 😢
6️⃣ На Android мы реализуем MVVM с LiveData-ами
7️⃣ На выходе у Flutter получается APK большого размера
8️⃣ На Flutter у вас не будет популярных библиотек
9️⃣ Мое SDK не работает на Flutter
🔟 Crashlytics недоступна на Flutter

На мой взгляд автор расписал все хорошо. Flutter - молодая технология. Она использует диковинный язык, имеет свой взгляд на архитектуру приложения, и требования, которые накладываются устройствами, где работают приложения.

Рекомендую всем взглянуть на Flutter, так как чутье мне подсказывает, что кроссплатформенная разработка будет становится все популярнее у бизнеса, особенно аутсорс.

Но после прочтения статьи у меня все также остаются вопросы:
Читабельны ли будут стектрейсы крешей в Crashlytics?
Можно ли сейчас сделать Instant App с Flutter?
Что с взаимодействием с железным API: камера, датчики, модули связи и пр. ?
Как решаются проблемы с разным видом стандартного UI в ОС? Например, уведомления в системной панели.
Насколько быстро добавляется поддержка свежих версий ОС (Android Q и iOS 13)?
#Library

Valigator

Полезная библиотека, позволяющая удобно писать валидаторы, для EditText на Kotlin.
#Git

"Ungoing Thing with Git" by Tower GIT

Полезный cheetsheet с откатом изменений в GIT
👍1