Reactive JS: Are you ready for the next big paradigm shift?
4.6 (430 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.
2,199 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Reactive JS: Are you ready for the next big paradigm shift? to your Wishlist.

Add to Wishlist

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

A primer for Reactive Extensions (v5) for JavaScript
Best Seller
4.6 (430 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.
2,199 students enrolled
Last updated 2/2016
Curiosity Sale
Current price: $10 Original price: $60 Discount: 83% off
30-Day Money-Back Guarantee
  • 5.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • 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
View Curriculum
  • 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

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!

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
Students Who Viewed This Course Also Viewed
Curriculum For This Course
28 Lectures
7 Lectures 01:24:29

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.

Preview 04:59

This video outlines the different sections of this course

Preview 02:43

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

Preview 19:52

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.

Preview 16:10

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.

Building our Playground: Part 1

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

Building our Playground: Part 2

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.

Using the Playground
2 Lectures 35:08

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

Autocomplete: Traditional Implementation

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

Autocomplete: Reactive Implementation
The Core of Reactive Extensions
8 Lectures 01:48:55

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

Observables, Operators, and Subscriptions

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

Creating Observables: Part 1

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

Creating Observables: Part 2

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

Built in 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.

Using RxJS with DOM Events, Node Functions and Promises

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.

RxJS Source Code, Resources and Documentation

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.

Sharing Observable Sequences: Hot vs Cold, Publish and Share
Operators that Everyone Should Know
9 Lectures 01:09:25

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.

Do / Finally / StartWith / Filter

These operators combine multiple observables into one.

Concat / Merge

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

Map / MergeMap / SwitchMap

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

Reduce / Scan

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

Buffer / ToArray

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

First / Last / Single / Skip / Take

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

Zip / WithLatestFrom / CombineLatest

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

Error Handling: Catch and Retry

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

The End
2 Lectures 19:37

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.

Final Example: Drag and Drop

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

About the Instructor
3D BUZZ Programming and Digital Art training
4.5 Average rating
3,683 Reviews
61,168 Students
17 Courses

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.

Nelson LaQuet
4.6 Average rating
1,086 Reviews
5,552 Students
5 Courses
Software Developer

Nelson is a software developer with fluency and professional experience in C#, C++, HTML/CSS, JavaScript and PHP.

Since 2007 he has worked professionally as a web developer, game developer and app developer in a variety of different languages and platforms.

He began teaching programming in 2010 as an instructor for While at 3dbuzz, he developed training video series, hosted live training webinars, and became the lead programming instructor and administrator for the site.

His training style emphasizes deep understanding of the material and hands-on practice - with most of his training programs centered around the development of complete, real world applications.