Course Information
Course Overview
Learn functional reactive programming with RxJava, a library for easy asynchronous programming
Functional Reactive Programming (FRP) is a different programming paradigm, just like Object Oriented Programming. It has gotten traction in the recent years where more and more technology adopt it for building responsive, reliable and maintainable systems. Writing multithreading code is usually difficult because you need to think how several pieces move at the same time and work together.
In this course I'll teach you RxJava, the Java implementation of Reactive Extensions to write safe, reliable multithreading code. It's being heavily in use in Android applications, but this course presents RxJava concepts in a generic way. You don't need to know anything about Android to use this course, learn and use RxJava in any kind of Java application.
You will learn how RxJava compares with Java standard library for writing multithreading code, and the parallel streams introduced in Java 8. In the section about use cases, I present you some examples of how RxJava solves particular challenges, so you can get started quickly. This course is meant to serve as a quick reference, the section about use cases doesn't follow a particular order, so you can skip and come back to lectures as you see fit.
The concepts you learn here will also help you understand other libraries that were inspired by Reactive Extensions.
(Music: bensound)
Course Content
- 4 section(s)
- 26 lecture(s)
- Section 1 Introduction
- Section 2 RxJava Concepts
- Section 3 Use Cases
- Section 4 Conclusion
What You’ll Learn
- When to use RxJava and when to use regular Java streams, What's the difference between RxJava and Java standard concurrency library, Understand marble diagrams, Apply Functional Reactive Programming (FRP) principles, Boost application performance with painless, safe, multithreading code, Write asynchronous code optimized for concurrency and parallel processing
Skills covered in this course
Reviews
-
MMiranda Pearce
I signed up for the class because I was using RxJava and confused by marble diagrams. This is already helping!
-
TTeemu Kanstren
Backpressure and use cases were OK. Those are poorly explained in RxJava docs (as is almost everything). At least here you get some concrete examples. The first parts on the basics on RxJava is very much lacking. At least 4 times in consecutive lessons the presenter shows the FlatMap Javadoc and reads it out loud. Got the read-out-loud part the first time, thanks. The presenter also misses some of the ideas the "marble diagrams" try to present. Although I have to admit, the marble diagrams aren't that great to start with so it's not a huge surprise to miss the details. What would make the basic part useful would be if the presenter would actually visualize the parallel processing streams and not just read out the Javadocs. Explain concepts (e.g., scheduler) before throwing them around. Animated marble, or whatever, diagrams showing the different flows in parallel, splitting, merging, etc. based on different operators along with some code would be great. Comparing to traditional thread based approaches and pros and cons would be even better still. But no, just reading out the Javadocs is what you get. Some of the code examples and their explanations have issues, and the examples are quire OK, at least some concrete examples on using the API. But very little critical discussion on when is RxJava actually useful and when not. Personally, I find the Rx API gets overly verbose and complicated for many simple tasks, which would be much better encapsulated with a clear object oriented API. In the end this seems like the original GoF patterns, somewhat useful in some cases, understanding the fundamentals behind it very much useful, and overused and abused by the overhyped fans. Still, anything is better than the official documents with their approach of trying to sound overly smart and mix fancy words while conveying no meaning. For a good discount this course is worth it for watching through on 1.5x speed and get some basic examples of back pressure and API use.
-
VVivek Ramaswamy
Quite nice, I really liked how he taught to read the marble diagram. Hoping the rest of the course is as good as the start.
-
BBillel Redouane
it only basque solution of problems, and have big gaps with true life. but not bad at all.