RxJava

RxJava is the Reactive Extensions library for the JVM. RxJava makes it easy to composing asynchronous and event-based programs using observable sequences of data in Java applications. This course takes a detailed look at the RxJava API and explores various patterns and techniques to ensure you make the most of concurrency, parallelism, and data throttling.

What you will learn:

  • The Reactive Manifesto
  • RxJava architectural patterns
  • Working with observable data sources
  • Functional programming
  • Concurrency
  • Managing data throughput

Prerequisites:

At least 6 months Java experience

Course outline:

Introduction to RxJava

  • Overview of Reactive Systems
  • Overview of RxJava
  • Going Further with RxJava Observables

Functional Programming

  • Essential Concepts
  • Functional Programming in Java

A Closer Look at Observables

  • Observable Data Sources
  • Defining a Custom Observer
  • Defining Custom Call-back Semantics
  • Hot and Cold Observables

Manipulating Data

  • Filtering and Fetching Items
  • Transforming Items
  • Accumulating Values

Combinators, Conditionals and Error Handling

  • Combining Observables
  • Conditional Operators
  • Handling Errors

Concurrency and Parallelism

  • Core Concepts
  • A Closer Look at Schedulers
  • Types of Schedulers Available

Managing Data Throughput

  • Understanding the Problem
  • Throttling
  • Using Buffers and Windows

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Other relevant courses

25. February
3 days
Classroom
4. February
5 days
Classroom
11. February
5 days
Classroom
6. March
3 days
Classroom