Reactive JS: Are you ready for the next big paradigm shift?

A primer for Reactive Extensions (v5) for JavaScript
4.4 (254 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,411 students enrolled
75% off
Take This Course
  • Lectures 28
  • Length 5.5 hours
  • Skill Level Intermediate Level
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2016 English Closed captions available

Course Description

As we all know, web development moves quickly. With frameworks like Angular 2 and React, we’ve seen a massive move in the industry from the imperative programming paradigm to the functional and reactive paradigms. To be successful in modern development, it’s paramount to have an understanding of how these paradigms work, and the tools that we can use to express them.

This course is an introduction to the core concepts of the reactive programming paradigm. We will use the RxJS (Reactive Extensions for JavaScript) library as a way to explore this mindset and develop an understanding of how to think reactively. Reactive Extensions are used by many companies - from Netflix to Microsoft and even Github!

Did you know that Angular 2 uses Reactive Extensions for its asynchronous operations? If Angular 2 is your goal, then learning RxJS is an absolute must!

Even frameworks that don’t use RxJS directly, such as Facebook’s React, are modeled after this paradigm - and integrate with it flawlessly.

If you plan on moving forward with modern development, reactive programming should be your next step. With the knowledge in this course, you will gain confidence in working with modern frameworks and libraries. Even if you’re not interested in writing web applications, the concepts here apply everywhere. Reactive Extensions itself has many ports to other languages that you can easily move between!

The concepts in this course offer a new way to reason about code - and will apply no matter what language, platform, framework, or library you wish to use! If you want to be on the forefront of modern web development, then this course is your next step!

What are the requirements?

  • Experience building web applications or sites, using JavaScript and common libraries such as jQuery, is required
  • Have a basic understanding of how to navigate your platform's terminal or command line

What am I going to get from this course?

  • Gain a competitive advantage by staying up to date with modern techniques and libraries
  • Have working knowledge of using RxJS (version 5)
  • Understand the core concepts of the Reactive Paradigm - for use in any mainstream language, especially JavaScript
  • Be ready for frameworks and libraries that use this paradigm and/or Rx itself - including, but not limited to - Angular 2 and React
  • Use RxJS on both the server and the client

Who is the target audience?

  • This course is NOT an introduction to JavaScript
  • You MUST understand JavaScript syntax
  • This course IS for JavaScript developers who want to develop using leading edge technology and techniques
  • This course is ESPECIALLY for JavaScript developers who want to be ready for Angular 2 and React

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

First off, we discuss what this series is, who it’s for and what you will learn following along. This video also contains our prebuilt "playground" where we will be writing all of our examples.


This video outlines the different sections of this course


To understand reactive programming, we first have to look at the history of programming paradigms and how each one compares and contrasts


This video furthers discusses the reactive paradigm with a diagram and code samples of what we can expect our code to look like in this paradigm.


This video puts together our “server-side” playground: basically, a combination of gulp, babel and nodemon that will let us write and run our sample code throughout this course while being able to take advantage of modern JavaScript.


This video completes our playground application with a workflow for rapidly testing out our client-side examples in a web environment.


For those who didn’t follow along with the previous two videos, this video shows you how to use the playground if you decided to just use the provided source.

Section 2: Motivation

In this video we build a traditional autocomplete textbox, solving the most common issues that we might face using basic JavaScript.


Next, we re-implement our autocomplete textbox using RxJS, and compare the resulting code with the last sample.

Section 3: The Core of Reactive Extensions

This video overviews, graphically, the three primary concepts of Reactive Extensions.


The core of the reactive paradigm is the observable. This video talks about how we can create our own, using the RxJS library.


Next up we take a look at how to clean up after our observables, as well as transform their values through a custom “operator”.


The RxJS library provides many built in observables that we can use, such as timers, intervals and conversions between array types and observables.


Now we take a look at how we can create observable sequences from other libraries, such as from jQuery events or asynchronous Node APIs.


Subjects are a built-in type in RxJS that allow us to have manual control over observable sequences.


This video goes over the different resources that we can use to help us understanding the RxJS library and its different features.


There are two “kinds” of observables: hot and cold. This video discusses the differences, and how to make a cold observable hot - allowing its single source of data to be shared.

Section 4: Operators that Everyone Should Know

These simple operators allow us to apply side effects to our workflows, as well as filter out items we don’t want, and even force a stream to being with a specified value before the original observable begins producing values.


These operators combine multiple observables into one.


These core operators allow us to transform observables in different ways.


Reduce and Scan are used to take many values and turn them into one.


These operators allow us to combine multiple values into single arrays of values that are emitted into the stream at once.


Now we take a look at operators that are used to grab specific items out of the stream, while ignoring others.


Next up we take a look at combining multiple observables into one, in more powerful ways than simply merging or concatenation.


Catch and Retry allow us to easily recover from potential errors that may be emitted in our streams.


We wrap up our discussion of important operators by summarizing the ones that we’ve went though in this section.

Section 5: The End

This example shows a non-trivial example of using RxJS to accomplish a simple drag/drop operation using the operators we’ve discussed in this course.


And that’s it guys! I hope you enjoyed the course!

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

3D Buzz is a company dedicated to providing the world with quality technical education over 3D animation, programming, game design, and much more. We have been producing training videos since 2001, always pushing the envelope in the development of informative lessons with an engaging and personable format. We try to make the viewer feel more like they're involved in a classroom discussion with an energetic teacher as opposed to being stuck in a dry, uninspired, run-of-the-mill training video.

But 3D Buzz is so much more than just training videos. We maintain one of the most helpful online communities on the internet. We do our very best to keep in close contact with our community, and to make sure that when you're here, you feel at home.

Ready to start learning?
Take This Course