Hands-On RxJS for Web Development

Hands-On RxJS for Web Development

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 5h 17m | 1.47 GB

Harness the power of RxJS by solving real-life web tasks with Reactive programming; use Observables to code less

Web application code can get tangled up, which makes it hard to test and maintain. Also, asynchronous computations and HTTP requests have to be properly managed. However, with RxJS 6 you can unify, filter, and transform these streams with ease. By introducing RxJS 6 into your code, you can build clean and fault-tolerant web applications.
This course shows you how to handle work tasks and issues with RxJS 6. It helps you develop the skills you need to create Reactive applications with RxJS 6. With this course, you’ll enter the Reactive world by using Angular and vanilla JS. You will learn to execute asynchronous event handling techniques using RxJS 6.
By the end of the course, you’ll be saving precious development time by using RxJS 6. You’ll scale your own applications effectively, and use Angular framework that relies on RxJS 6.

This course offers a quick way to become familiar with Reactive Programming concepts and start using them in real-life tasks with the RxJS library. The course is focused on using RxJS for Reactive web UI in vanilla JS and Angular apps.

What You Will Learn

  • Work with the modern Reactive Extension event-based programming approach in JS
  • Use real-world examples of development practices to solve issues with less code
  • Easily implement retry on error or repeat logic for your HTTP request-ordering problems with RxJS
  • Handle HTTP requests with a few lines of code
  • Create scalable app architectures and organize convenient inter-component data flows
  • Build easily-updatable web components and combine the latest ZIP operators
  • Implement RxJS solutions in the popular modern Angular framework
  • Use RxJS patterns and anti-patterns to improve your code maintainability
Table of Contents

DIVE INTO THE RXJS ENVIRONMENT
The Course Overview
Explore RxJS – What and Why?
Node.js Installation
Angular Demo Project Starter
Forking RxJS Playground on JSFiddle

IMPLEMENTING OBSERVABLES TO REDUCE CODE COMPLEXITIES
What Are Observables and How to Create Them?
Hands-On Cold and Hot Observables
Subjects – Emit Your Own Data to Multiple Subscribers
Observables in Application State Management (ngRxStore)
Benefits of Reactive Updating Components View on Data Change

WORKING WITH OPERATORS FOR STREAM DATA PROCESSING
Working with Pipe-able Operators to Decrease App Bundle Size?
Modifying Data with ‘map’
Filtering Data with ‘filter’
Handle Errors As Usual Data – with ‘catchError’
Preventing Unneeded Recalculations with ‘distinctUntilChanged’
Operate All Emitted Values with ‘scan’
Data Manipulation with ‘buffer’

COMBINING STREAMS WITH OPERATORS
Using Flattening Operators
Switch to the Latest Observable Data with switchMap to Prevent Race-Conditions
Interleave Application Events with mergeMap and mergeAll
Fetching Delayed API-Call Results with mergeMap and Subjects
Practicing Processing Data Chunks with mergeAll and bufferCount
Practicing CRUD Operations with concatMap
Using zip and combineLatest for Component State-Switching
Fixing Backend Drawbacks with forkJoin: Rx Analog of Promise.all

PRACTICING THE RETRY LOGIC
Redo Errored Http Requests with ‘retry’ Operator with One Line of Code!
Make Repetitive Http Calls with the ‘repeat’Operator
Take Advantage of retryWhen and repeatWhen Operators for Complicated Repeat Logic

PRACTICING THE UNSUBSCRIBE POLICY
Why Unsubscribe? Prevent Memory Leaks with the Correct Unsubscribe Policy
Practicing first, skip, take, takeUntil, and takeWhile Operators

FIXING ANTI-PATTERNS AND PRACTICING UNIT TESTS
Fixing RxJS Anti-Patterns to Improve Code Maintainability
Control the Timing Strategy of Event Emissions with Schedulers
Unit Tests for Observable Streams: Rx.BehaviorSubject and Rx.Marbles Techniques
Using Multicast Operators to Prevent Requesting Same Data Again for Each Observer
Debugging Tips