RxJS is the only major dependency of Angular. If used with expertise, it can
make Angular applications more concise, correct, and comprehensible. Yet
RxJS’s merits are often underappreciated because it can be complex and
challenging to learn in depth.
At Oasis Digital, we’ve used RxJS in great depth across numerous projects
since 2015 and have introduced thousands of students to RxJS in our popular
Angular Boot Camp. This RxJS class more fully explores the power of RxJS to
reveal its full benefits. The class includes:
Expert explanation and discussion
Clear, isolated examples for precise understanding
Complex, realistic examples - real scenarios and how to express them optimally
Students will learn to:
Identify when to use RxJS
Manage asynchronicity more easily
Think in terms of data flow
Wire that data flow declaratively using RxJS observable pipelines
Create correct functionality with less code than the imperative alternative
Understand the few handfuls of RxJS operators that compromise most RxJS code,
and when to reach for other operators.
Make RxJS code communicate clearly to other developers
Who Should Attend?
Decision-makers looking to understand and maximize overall team leverage
against "hard problems" and developerment velocity via expert-level use of
Angular developer responsible for understanding and improving large or complex
applications built with RxJS.
Angular developers looking to improve the correctness and concision of
application code using RxJS.
Prerequisites / requirements
Several months of experience with Angular
Editor and other tools to work on TypeScript source code
A computer—this is a hands-on workshop
Ability to install software, including Node, NPM, and packages
We have trained thousands of developers at hundreds of companies,
including numerous global leaders.
Introduction and background
Oasis Digital introduction, student introduction
TypeScript, the language used throughout
Case studies interleaved with technical explanation
Why use RxJS?
Angular and RxJS
Why is Angular built on RxJS?
RxJS's place in the world
Observable or Promise? Contrast and choose
Case study: Loading data via HTTP
Load and display data
Reloading data on user input
Case study: Streaming data from a server
RxJS in a Node server application
Server push / streaming data flow
Thinking reactively / Reactive programming
hot vs cold observables
Making your own observables
Case study: Chat application
Restoring history from server
Use same abstraction for input from user and other applications
Case study: CRUD application
POST, PUT, DELETE
Case study: Faceted search application
Typeahead search (from Angular/OD material searchSelect)
Using many combineLatest
Reactive data flow
Server side search/sort/paging
Complex reactive data flows
Calculating derived data from two api calls
Reactive forms input, round trip to server, then put the data on the screen
Incremental search with flaky backend
RxJS as a state management tool
Calculating derived state from ngrx
Following Redux/Ngrx pattern
Case study: Untangling complexity
Operator theory and catalog
Conditional and boolean operators
Mathematical and aggregate operators
Testing code that uses RxJS
Don’t test RxJS; RxJS already has a large test suite
Older observables syntax
Implementing the Observable Spec
Oasis Digital instructors have extensive experience with both
Angular and numerous surrounding technologies; here are some
of them. The specific instructor(s) assigned to your class will
depend on which class or class topics (we customize!) are
put together, availability, additional consulting needs, etc.
Q: Is this taught "in person"?
A: We offer training both in-person and online via remote conferencing.
Q: How does the remote option work?
A: Much like an in-person class, it is conducted by our expert trainers, in real time.
The trainers can answer questions, assist with trouble students are having, etc.
We strive to offer as much of the in-person experience as possible, online.
Q: Are there open enrollment public classes?
A: We currently only offer an open-enrollment "public" class for our flagship
Angular Boot Camp.
Q: How does the recorded class work?
A: In a recorded class, the biggest obstacle is the lack of live question-and-answer
To deliver a great result, we practice teaching with live groups before
creating the recorded class. In this way, we aim to answer as many of the common
(and less common) questions as possible. We also do as much "live coding" as makes
sense for the topic, in a recorded class.
Q: Can we schedule a private class any time?
A: Our classes are taught by developers who use the subject technologies in their daily work,
so we don't assign "any" available developer/trainer to any particular class,
but only to classes with a strong experience and knowledge match.
Please contact us to arrange a date.
Two ways to learn
1) Training for your team, available now
For corporate groups and other organizations, we offer live in-person instruction.
These teams typically have advanced needs, so we provide customized, hands-on
Before each class, our instructors will listen to your needs in depth and add or
change the class agenda. We can also follow-up a class with consulting
assistance, or combine multiple classes into a longer workshop week.
Contact us about a private class
2) Live-instructor public classes, coming soon
Want to attend as an individual or small group? We are creating public,
open enrollment versions of many of our classes, including this one.
Unlike canned video training, live instructor online classes offer frequent
opportunities for detailed Q&A discussion.
This class isn't quite ready yet, but follow us on social media (bottom of
the page) or keep an eye on our website for announcements. We will show
the schedule of upcoming open enrollment class dates prominently.