You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Patrick 8ae1bdc7be Initial commit 2 years ago
README.md Initial commit 2 years ago

README.md

RxJS Learning Path (Pareto Principle)

1. Understanding the Basics of Reactive Programming

  • Concept of Streams: Learn what streams are in the context of RxJS.
  • Observables: Understand observables, the core abstraction in RxJS.
  • Observer Pattern: Learn how observers subscribe to observables.

2. Core Operations with Observables

  • Creating Observables: Use creation functions like of, from, interval, and new Observable().
  • Subscribing: Understand the subscribe method and how to handle data, errors, and completion.
  • Disposing: Learn how to unsubscribe and clean up with the unsubscribe method to prevent memory leaks.

3. Transforming Data Streams

  • Map and Pluck: Transform the items emitted by an Observable.
  • Filter: Filter data based on conditions.
  • Reduce: Accumulate data over time.

4. Combining Streams

  • Merge and Concat: Combine multiple observables into one.
  • SwitchMap: Cancel previous inner observable on a new value.
  • CombineLatest: Combine multiple observables, emitting the latest values of each.

5. Controlling the Flow

  • Debounce and Throttle: Control the number of events based on time.
  • Take and First: Limit the number of items from an observable.
  • Skip: Ignore the first n items.

6. Error Handling

  • CatchError: Handle errors within the observable chain.
  • Retry: Retry an observable sequence on error.

7. Subjects and Multicasted Observables

  • Subject: Understand how a Subject can act as both an Observable and an Observer.
  • BehaviorSubject: Know how to use BehaviorSubject for holding and emitting the latest value.
  • ReplaySubject: Learn how to buffer and replay emissions to new subscribers.

8. Utility Operators

  • Tap: Tap into an observable sequence to perform side effects.
  • Delay: Delay the emissions of an observable.

9. Advanced Concepts

  • Hot vs Cold Observables: Understand the difference between hot and cold observables.
  • Schedulers: Learn how schedulers control concurrency.

10. Best Practices and Common Usage Patterns

  • Resource Management: Learn how to use operators like using and finalize to manage resources.
  • Higher-Order Observables: Get comfortable with observables that emit other observables and how to flatten them with operators like concatAll or mergeAll.

Resources to Follow

  • Official Documentation: Start with the official RxJS docs for the most accurate information.
  • Tutorials: Look for hands-on tutorials that focus on the key concepts listed above.
  • GitHub Repositories: Find and study real-world projects using RxJS.
  • Courses and Videos: Use platforms like Coursera, Udemy, or free YouTube tutorials that emphasize the core 20%.
  • Community: Engage with the community on platforms like Stack Overflow, Reddit, or RxJS Gitter.