ReactFoo Hyderabad

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

Thinking Reactively with RxJS

Submitted by Mayank Raj (@rajmayank) on Thursday, 8 February 2018

videocam_off

Technical level

Intermediate

Section

Full talk

Status

Submitted

Vote on this proposal

Login to vote

Total votes:  +5

Abstract

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.

Links

Slides

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

Comments

  • 1
    Zainab Bawa (@zainabbawa) Reviewer 9 months ago

    Mayank, we’ll need to see the slides to make the decision to confirm this talk. Upload the link here. If you are uncomfortable sharing the slides publicly, state reason here and mail the slides to reactfoo.editorial@hasgeek.com

  • 1
    Mayank Raj (@rajmayank) Proposer 9 months ago (edited 9 months ago)

    Zainab Bawa, I’ve added the slides. I had received a feedback from a few other fellows at conferences saying that at the moment community is looking for more of a advanced level talk on Reactive Programming/RxJS as there has been a lot of beginners level talk on the topic.
    Based on that I have prepared a session that goes beyond basics and digs deep into the concepts supporting it again with examples.

    I’ve added both the decks to the proposal. I thought they were very closely related to each other so did not create new proposal for the same. Both version of the talk, although on the same topic, aim at different level of audience.

    • 1
      Zainab Bawa (@zainabbawa) Reviewer 9 months ago

      The link is private. I don’t have permission to open.

    • 1
      Zainab Bawa (@zainabbawa) Reviewer 9 months ago

      So what background knowledge should the audience have to attend your talk? Right now, in the requirements, you have mentioned none.

      • 1
        Mayank Raj (@rajmayank) Proposer 9 months ago

        Hey Zainab:
        Thinking Reactively with RxJS : None, the talk goes on to start from basics and explain the concepts of RxJS and reactive programming in general. All code examples are shared on JSBin to follow along

        Tearing down & exploring - RxJS : Prior knowledge of reactive programming and it’s concepts is required, which in my opinion, given the heavy usage of RxJS in JS community is hard not to find. This talk focuses more on how we can build components from scratch to understand some design patterns better. Again, all the code examples are shared on JsBin

Login with Twitter or Google to leave a comment