4 Days to the kick off: featured session of the day - Taming Asyncrony using RxJS by Angelo Simone Scotto

Looking for some a different approach on Async with Javascript? Maybe Taming Asyncrony using RxJS by Angelo Simone Scotto could be the session for you.

If not, as last session of the day you could also choose a different approach to Javascript, with TypeScript, or a different approach to learning a new language.

Q: Tell us a bit more about your session

A: My session is about "Reactive Extensions" (Rx); speaking about Rx is really exciting because in our work it's rare to find something really new, but Rx, with its Observable pattern, somehow did it.

It showed us something that even the venerable Gang of Four in their "Design Pattern" book missed, that Iterator and Observer patterns were really different views of the same thing, quite interesting stuff.

In the first half of the session we will introduce the Observable pattern as it was introduced historically, as a way to make Iterator pattern Async and then we will show the similarities with the Observer pattern and how, at the end of the day, Rx team at Microsoft, noticed also that this new pattern was also able to express Promises (the cornerstone of modern async programming).

At that point, with a lot of theory but zero code written, we will start a small demo about how to use Observable in Javascript using the RxJS library.

Then we will start to introduce other aspects of Rx (mainly grammar and operations to manipulate Observables) and we will end up with a more complex demo of an autocomplete webpage written using Rx.

Then we have to briefly introduce Rx schedulers (briefly because schedulers are of huge importance in Rx implementations for other languages but, since Javascript is single-threaded, RxJS schedulers are few and usually the default RxJS choice is approriate for common use cases and rarely one needs to handle them directly).

If i've still space I would like to share the same tutorial reference i'll add at the end of the presentation for people who wants to deepen the topic.

  • ReactiveX: Homepage of RX project.
  • LearnRX: Online tutorial, published initially by Netflix as training for its developers.
  • RxJSKoans: GitHub repository full of small exercises of increasing difficulty using RxJS.
  • Rx Workshop: A set of videos teaching you Rx.NET directly from Rx team members.

Q: Tell us a bit more about yourself

A: First of all i'm a software developer, even if after 10 years of experience, as you can imagine, my role in the company changed quite a lot.

I'm a Cluster Reply employee and my current title is something like "Solution Architect" and "Technical Advisor", and what it really means to me is just being a software developer with added responsability such as teaching and introducing colleagues to new technologies, patterns and architectures and, obviously, be blamed when something don't work out as intended.

My main interest is about message-oriented middleware and integration systems because I discovered soon, thanks to the ubiquity of internet and IP protocol, that every system (yes, websites too) we realize these days has strict integration/communication requirements and satistying them (with SOA, ESB, EAI, Microservices or whatever) is probably one of the most important part of every IT project.

To quote Michael Nygard "Release It!" wonderful book:

I haven't seen a "pure-website" project since about 1996. If your projects are like mine, they have probably been enterprise integration projects that happen to have an HTML-based front end.

Register to the Web European Conference

If you want to attend this session but haven't registered to the Web European Conference yet, you still have some time: go register before all 900 tickets are gone.