Are you a developer diving into the Angular ecosystem? Whether you're just getting started or already have some experience, you'll likely find RxJs to be one of the more challenging parts to master. RxJs and Reactive Programming have a steep learning curve, which means jumping into existing code isn't always effective. Instead, it's crucial to begin with foundational reactive design concepts.
This Course in a Nutshell
Note: This course includes the Typescript Jumpstart E-Book.
This course offers a complete practical guide to the RxJs library (Reactive Extensions for JavaScript). We start with foundational concepts and provide an extensive catalog of RxJs operators to cover most of your daily development needs. While we won't cover every operator, we focus on the most commonly used ones and offer practical examples for each. Additionally, this course demonstrates how to use RxJs for building programs with Reactive Design, rather than an imperative programming style.
Course Overview
We begin by introducing RxJs, covering fundamental concepts like Streams and Observables, and addressing key questions such as: What is RxJs? When and why should you use it? What problems does it solve?
Next, we'll create our own Observable from scratch, implementing an HTTP observable to manage backend requests with error handling and cancellation support. After this introduction, we'll delve into practical examples using a wide array of operators.
Operators and Practical Examples
Operators will be explained using official RxJs marble diagrams, along with practical examples. We'll begin with Map and Filter operators before moving to more complex ones like shareReplay, concat, and concatMap, as well as combination strategies like merge and mergeMap, exhaustMap, switch, and switchMap. We'll also provide examples that involve backend operations and search typeaheads.
Error Handling Strategies
Explore several RxJs error handling strategies, including catch and recover, catch and rethrow, and retry.
Understanding Subjects
We'll delve into subjects, presenting examples of common types like BehaviorSubject and AsyncSubject. We'll use subjects to implement a centralized observable store—a common reactive pattern—from first principles.
Additional Operators
Other operators covered include withLatestFrom, forkJoin, take, first, delay, delayWhen, startWith, and more. By the end, you'll be able to implement a custom pipeable operator, creating a debugging tool for better troubleshooting of RxJS programs.
What Will You Learn In this Course?
By the conclusion of this course, you'll be equipped to use the RxJs library effectively to build applications in a reactive style. You'll grasp core reactive programming concepts like Streams and Observables, and you'll gain familiarity with an extensive subset of operators necessary for application development.
Explore the free lessons below and enjoy your journey through the course!
Who this course is for:
- Developers new to the RxJs library
- Developers interested in learning Reactive Programming
- Developers eager to build applications using a Reactive Design approach