О чем этот курс
RxJava решает насущные проблемы разработки:
- позволяет уйти от кучи вложенных колбэков
- делает работу с потоками удобнее и проще
- содержит гибкие механизмы для обработки ошибок
- предоставляет обширный функционал за счет большого числа операторов
Тема достойная для изучения и по ней даже есть толковые учебники, но в одном много воды, в другом – сразу грузят кучей понятий и трудно разобраться что к чему. Поэтому, я решил написать свой курс, чтобы получилось максимум полезной и понятной информации при минимуме затраченного времени.
Первые 10 уроков курса описывают первую версию RxJava. На 95% эта информация актуальна и для второй версии. В 11 уроке описана разница между первой и второй версией, и в последующих уроках используется уже вторая версия.
RxJava - это полезный инструмент, и мой курс поможет вам освоить его и использовать при создании Android-приложений. Кроме того, знания RxJava станут приятным пунктом в вашем резюме. Я встречал такое требование в вакансиях на позицию Senior Android-разработчика.
На сегодняшний день курс приобрели уже более 450 человек.
Как выглядят уроки
Много примеров с описанием результатов их выполнения
Подробные объяснения сложных для понимания механизмов
Как получить курс
Первые два урока доступны бесплатно и без регистрации. Прочитав их, вы примете осознанное решение о покупке.
Урок 1. Основы RxJava Урок 2. Операторы. Action
Курс постоянно дополняется. На сегодняшний день он состоит из 13 уроков
Полный курс доступен после регистрации на сайте и оплаты. Стоимость курса - 1200 рублей
С выходом новых уроков стоимость увеличивается. Но читатели, уже купившие курс, автоматически получат доступ к новым урокам. Поэтому, если тема вам интересна, не откладывайте покупку и получайте все следующие уроки бесплатно. Читателю, купившему хотя бы один курс, предоставляется скидка 20% на все остальные курсы.
Доступ к курсу предоставляется навсегда, включая все последующие уроки или обновления.
Сразу все курсы со скидкой 50% процентов вы можете купить (или докупить) на отдельной странице.
При возникновении каких-либо вопросов, используйте форму обратной связи
Содержание курса
-
Урок 1. Основы RxJava. Observable и Observer.
Этот урок начнем с паттерна Наблюдатель и разберемся, как он используется в RxJava. Рассмотрим основные понятия: Observable и Observer, и какие типы событий они используют. Далее разберем один теоретический и один практический примеры.
-
Урок 2. Операторы. Action
В этом уроке пробежимся по нескольким несложным оператором, чтобы понять, что они из себя представляют. И используем Action вместо Observer.
Урок 3. Subscription. Создаем свой Observable.
В этом уроке изучаем Subscription - объект, который дает возможность отписаться от Observable. Создаем свою несложную реализацию Observable и учитываем в ней статус подписки. И рассмотрим полезный инструмент - CompositeSubscription.
Урок 4. Hot and Сold Observable. ConnectableObservable
В этом уроке подробно посмотрим на взаимодействие Observable и Observer, и выясним, чем отличается это взаимодействие в Cold и Hot Observable. В течение урока нами будут рассмотрены операторы publish, replay, refCount, cache и класс ConnectableObservable.
Урок 5. Subject
В этом уроке рассмотрим Subject и его типы: PublishSubject, ReplaySubject, BehaviorSubject, AsyncSubject, UnicastSubject, SerializedSubject.
Урок 6. subscribeOn и observeOn
В этом уроке рассмотрим, как работает RxJava с точки зрения потоков и научимся управлять потоками с помощью операторов subscribeOn и observeOn.
Урок 7. Обработка ошибок
В этом уроке обрабатываем ошибки с помощью операторов onErrorReturn, onErrorResumeNext и onExceptionResumeNext. Рассмотрим, как можно перезапустить Observable с помощью различных вариантов оператора retry. Подробно разберем, как работает оператор retryWhen.
Урок 8. Операторы объединения
В этом уроке подробно разбираем в чем отличие операторов merge, concat, amb, zip, combineLatest, withLatestFrom. На примере выясняем зачем нужен flatMap и чем он отличается от concatMap.
Урок 9. Retrofit 2. Retrolambda
В этом уроке используем RxJava в работе с Retrofit 2. Сокращаем количество кода с помощью лямбда-выражений
Урок 10. Backpressure
В этом уроке на примерах рассмотрим, в чем заключается backpressure. Используем операторы onBackpressure и обертку SyncOnSubscribe для работы с Observable, не поддерживающими backpressure.
Урок 11. RxJava 2
В этом уроке разбираем основные отличия второй версии RxJava. Посмотрим, чем отличаются Flowable и Observable, какие интерфейсы теперь используются для подписчиков и подписки, какие новые объекты появились, и какие старые объекты были переименованы или удалены.
Урок 12. RxBinding
В этом уроке используем RxBinding, чтобы работать с View в Rx парадигме.
Урок 13. Тестирование. RxJavaPlugins
В этом уроке разбираем возможности классов TestObserver и TestScheduler, которые могут быть использованы при написании тестов. А также рассмотрим несколько методов из RxJavaPlugins.