Book description
Expand your boundaries by creating applications empowered with real-time data using RxJs without compromising performance
About This Book
- Handle an infinite stream of incoming data using RxJs without going crazy
- Explore important RxJs operators that can help you improve your code readability
- Get acquainted with the different techniques and operators used to handle data traffic, which occurs when you receive data faster than you can process
Who This Book Is For
If you're a web developer with some basic JavaScript programming knowledge who wants to implement the reactive programming paradigm with JavaScript, then this book is for you.
What You Will Learn
- Get to know the basics of functional reactive programming using RxJs
- Process a continuous flow of data with linear memory consumption
- Filter, group, and react to changes in your system
- Discover how to deal with data traffic
- Compose operators to create new operators and use them in multiple observables to avoid code repetition
- Explore transducers and see how they can improve your code readability
- Detect and recover from errors in observables using Retry and Catch operators
- Create your own reactive application: a real-time webchat
In Detail
If you're struggling to handle a large amount of data and don't know how to improve your code readability, then reactive programming is the right solution for you. It lets you describe how your code behaves when changes happen and makes it easier to deal with real-time data. This book will teach you what reactive programming is, and how you can use it to write better applications.
The book starts with the basics of reactive programming, what Reactive Extensions is, and how can you use it in JavaScript along with some reactive code using Bacon. Next, you'll discover what an Observable and an Observer are and when to use them.You'll also find out how you can query data through operators, and how to use schedulers to react to changes.
Moving on, you'll explore the RxJs API, be introduced to the problem of data traffic (backpressure), and see how you can mitigate it. You'll also learn about other important operators that can help improve your code readability, and you'll see how to use transducers to compose operators.
At the end of the book, you'll get hands-on experience of using RxJs, and will create a real-time web chat using RxJs on the client and server, providing you with the complete package to master RxJs.
Style and approach
This easy-to-follow guide is full of hands-on examples of reactive programming. Each topic is explained and placed in context, and for the more inquisitive there are more details of the concepts used, ending with an application using the concepts learned through the book.
Table of contents
- Preface
- What Does Being Reactive Mean?
- Reacting for the First Time
-
A World Full of Changes - Reactive Extensions to the Rescue
-
RxJS observables
- Difference between bacon.js and RxJS observables
- Installing RxJS
-
Creating an observable
- Creating an observable from iterable objects
- Creating an observable from a sequence factory
- Creating an observable using range ()
- Creating an observable using period of time
- Creating an observable from callbacks
- Creating an observable from a promise
- Creating empty observables
- Creating an observable from a single value
- Creating an observable from a factory function
- Creating an observable from arbitrary arguments
- Creating an observable from an error
- Creating observables from DOM events (or EventEmitter)
- Creating an observable from an arbitrary source
- Subscribing to changes (Observer)
- RxJS Subjects
- RxJS Disposable
- RxJS Schedulers
- Summary
-
RxJS observables
- Transforming Data - Map, Filter, and Reduce
- The World Changes Too Fast - Operators to Deal with Backpressure
- Too Many Sources - Combining Observables
- Something is Wrong - Testing and Dealing with Errors
- More about Operators
- Composition
- A Real-Time Server
-
A Real-Time Client
- Installing dependencies
- The structure of our client
- Building the application for the first time
- Connecting to the server application
- Using RxJS to manage user input
- Connecting user interactions and server communication
- Improving interaction with RxJS
- Batching changes to the DOM
- Testing the application
- Summary
Product information
- Title: Mastering Reactive JavaScript
- Author(s):
- Release date: May 2017
- Publisher(s): Packt Publishing
- ISBN: 9781786463388
You might also like
video
Building a Full-Stack Reactive Web Application
Design and build an online booking system with Spring Boot and React JS, which will allow …
book
JavaScript Pocket Reference, 3rd Edition
JavaScript is the ubiquitous programming language of the Web, and for more than 15 years, JavaScript: …
book
WebSocket Essentials – Building Apps with HTML5 WebSockets
Build your own real-time web applications using HTML5 WebSockets In Detail WebSocket facilitates complete duplex communication …
book
Hands-On JavaScript High Performance
An example-driven guide covering modern web app development techniques and emerging technologies such as WebAssembly, Service …