ReactFoo Hyderabad

On React, alternatives to React, ReactNative and front-end engineering

Mayank Raj

@rajmayank

Thinking Reactively with RxJS

Submitted Feb 8, 2018

Handling the flow of asynchronous data streams has always been a challenging task. Callbacks offer the quick solution. Then came promises which made it easier to write and maintain code around such data streams. Reactive programming is another take on the problem. With implementations in languages like .net, java, scala, JavaScript etc, with big names like Google, Microsoft, Netflix actively supporting and maintaining implementations of the idea in these languages, the style of programming is here to stay.
JS community has been appreciating the ease it brings in given the asynchronous nature of the language. Angular has adopted it as a core library, React-redux uses it. It’s safe to bet that the javascript implementation, RxJS if used in the right way can help in many ways.

(Note: I’m open to share slides to the organizers/on talk being accepted)

Outline

We start off by introducing what reactive programming is, explains the core concepts and key terms of the style of programming - data streams, observables, observers, operators, subjects, subscription etc
We then go ahead to see how we set up each of these components, how to connect them and how the data flows among them
With this understanding we can now compare Reactive components with promises and look at the problems it solves
Next we see how RxJS implementation works. We understand various reactive components in terms of RxJS
To get a better hands-on idea, we take a look at the implementation of a real world example with a relatively complex logic in RxJS

====================================================================================
This talk starts off with going over some basic concepts of reactive style of programming and then quickly jumps into much more intermediate/advanced level topics. It talks about how observables, operators etc are just sets of functions and how we can build them from scratch easily. It helps enforce one of the core and central idea of observables that observables are lazy in nature, by explaining the architecture that supports it. We then move on to distinguishing design patterns and how the data should be handled. With supporting demo, we then explore the concept of Hot&Cold Observables and higher order observables.

Finally, to show all these concepts in action a multiplayer demo is shown with the code.

Requirements

None, all the code exaples would be provided on JSBin

Speaker bio

(I have spoken at national & International events. Most recent being the above talk at Nerd Summit at UMass Amherst, Massachusetts, USA.)

I started off with android rom development, was a device maintainer for CynogenMod before it blew up. A small freelance project for a startup got me into web development. I’ve been consulting in web domain ever since, taking up training sessions, both online and offline and hacking around in general. I’ve consulted couple of multi-billion dollar companies.
Everything I know is self-taught, I know firsthand how important role the community plays when it comes to learning new technologies in this fast paced environment and I like to give back to it in whatever form I can.

Slides

https://goo.gl/NB7v5v & https://goo.gl/JGstou

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

A community - for and of - front-end engineers to share experiences with ReactJS, performant apps with React, crafting better User Interfaces (UI) with React and GraphQL ecosystem. ReactFoo also discusses design patterns and user experience. more