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
#RxJava

Operator fusion in RxJava 2

Разбор оптимизаций библиотеки RxJava 2 для обеспечения наибольшей производительности и устранения негативных эффектов от создание множества промежуточных объектов, называемые "operator fusion".
#RxJava #Kotlin

Fundamentals of RxJava with Kotlin for absolute beginners

Хороше интро в мир RxJava на Kotlin:
👉 Что такое RxJava
👉 Создание Observable
👉 Backpressure
👉 Типы emitter: Flowable, Maybe, Single, Completable
👉 Schedulers
👉 Операторы
👉 Disposable - отмена выполнения
👉 Subject = Observable + Observer
#Coroutines #Flow #RxJava

From RxJava 2 to Kotlin Flow: Threading

Kotlin Flow - это реализация реактивных стримов на основе Coroutine, и естественно Android разработчики будут сравнивать ее к тому, чему уже привыкли - RxJava 2.

В статье автор проводит сравнение работы по управлению Java потоками выполнения в RxJava Obserable и Coroutine Flow, а также миграции с первого подхода на последний.
#RxJava #Coroutines #Backpressure

From RxJava to Kotlin Flow: Backpressure

Сравнение работы с Backpressure в RxJava 2 и Coroutines Flow:
👉 Как решается в Flow
👉 Flowable
👉 Операторы для работы с Backpressure в RxJava
#RxJava

Вышла RxJava 3.0

На день всех влюбленных нам решили подарить новую мажорную версию RxJava.

Что нового:
👉 Минимальная версия поддерживаемая версия Java теперь 8 + добавилось множество возможностей
👉 Улучшена работа с ошибками
👉 ConnectableFlowable и ConnectableObservable - поддержка множества подписчиков
👉 Возможность приостанавливать Flowable
👉 Улучшение работы операторов
👉 Улучшение stacktrace при ошибках

Подробности изменений в API
Полный список изменений можно найти здесь

RxJava 2 переходит в режим поддержки и в нее будут добавляться только багфиксы.
#Coroutines #Flow #RxJava

From RxJava to Kotlin Flow: Error Handling

Продолжение серии в статей в которой сравниваются различия между Coroutines Flow и RxJava, помогающее разработчикам мигрировать с одного API на новое.

В новой части рассматривается разница к подходу в обработке ошибок
#RxJava

Rx головного мозга

Команда Android-разработки FunCorp вдохновилась докладом Jake Wharton и решила попробовать написать приложение полностью построенное на Rx. Даже так, где это кажется очень странным, сильно упрощает жизнь и делает код очевиднее.

Так ли это или нет можете почитать в разборе этого подхода в статье.
#Coroutines #RxJava

The Real Kotlin Flow benefits over RxJava

«Я использую RxJava. Зачем мне Coroutines Flow?» - такой вопрос я зачастую слышал, когда делал доклады по Flow или топил за этот подход в офисе на кухне.

В статье автор сравнивает эти 2 подхода и показывает, как Flow хорошо себя зарекомендовали и позволяют делать, а где пока есть проблемы
#Network #REST #Retrofit #RxJava

Вышел Retrofit 2.9.0

Новая версии популярной библиотеки сможет порадовать поклонников RxJava - добавлена поддержка RxJava3. Подключайте com.squareup.retrofit2:rxjava3-adapter
#RxJava

Что нового в RxJava 3

Весной вышла в свет новая версия реактивного фреймворка RxJava. Она не привнесла кардинальных изменений и в основном содержит исправление багов. В статье автор описывает что нового мы получили в этой мажорной версии:

👉 Поддержка Java 8
👉 Поддержка Streams и CompletabeFuture
👉 Убрана поддержка java.time.Duration и java.util.function
👉 По заверениям разработчиков теперь не будут теряться ошибки
👉 Функция reset для "горячих" Observable
👉 Возможность ставить Flowable на паузу
👉 Новый тип - Supplier – аналог Callable, но с throws Throwable

Так же автор даёт рекомендации по миграции на новую версию. Более подробно можно ознакомиться в статье.
#RxJava #Backpressure

Анатомия backpressure в реактивных потоках

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

В качестве примере автор приводит код, в котором он описал упрощённый механизм backpressure при помощи обычного семафора.
#Coroutines #RxJava

Как безболезненно мигрировать с RxJava на Kotlin Coroutines+Flow

Сравнение подходов RxJava и Flow для обработки реактивных стримов и как происходит миграция
#RxJava

How RxJava chain actually works

Особенности работы RxJava цепочек и их жизненный цикл. Полезно как тем кто изучает, так и пользует. Понять Rx непростая задача (
#rxjava

Вышла RxJava 3.1.0
👉 Теперь минимальная поддерживаемая версия Android - 5.0 (API Level 21)
👉 Стабилизация API
👉 Новые методы
👉 Багфикс
#room #rxjava

Room + RxJava2 Flowable получение пустого списка при отсутствии данных

Магия с RxJava чтобы получать нужные данные при пустой таблице в Room получить пустой список. Странно что приходится городить такие костыли, но что есть
#rxjava

The RxJava Threading Mistake You Are Probably Making (6 мин)

Всем кто пользуется RxJava - ловите статью. В ней рассказывает про ошибки, которые вы можете допускать в работе с потоками, когда всё это прячется за Scheduler
#rxjava

The most popular RxJava misunderstanding (7 мин)

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

Автор статьи рассказывает про базисы работы цепочек и из понятий и также как сработают observeOn и subscribeOn. Подробный разбор с графикой, примерами. Очень хорошая работа, рекомендую!
👎18🔥16👍9😢1
Сравнение (EN,15м) выполнения операций в Android через Executor, RxJava, Coroutines и Flow. В тесте провели замер скорост через Jetpack Microbenchmark 3 операций:

Результат: Разные технологии не влияют для многопоточных IO операций. Выбор фреймворка лучше основывать на вашем удобстве. Простые задачи, как арифметика, лучше выполнять без многозадачности.

Как считаете вы?

#производительность #coroutines #rxjava
👍224👎1