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.
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!
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.
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 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.
Next, we re-implement our autocomplete textbox using RxJS, and compare the resulting code with the last sample.
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.
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.
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!
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.
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 3dbuzz.com. 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.