Friday, September 18, 2020

Registration & Breakfast

08:00 am -
09:00 am

Get prepped for an amazing day of RxJS goodness and grab some swag!

Welcome & Intros

09:00 am -
09:10 am

Welcome, Intros, Code of Conduct


Ben Lesh - The Future of RxJS

09:10 am -

09:45 am

The future of RxJS is bright! Ben will give us a preview into the RxJS roadmap for 2020!


Lamis Chebbi - Embrace RealTime components using Angular, WebSocket and RxJS

09:45 am -
10:15 am

Ever wondered how to push data in real time to Angular Components? Are you curious about how to achieve this at the lowest cost using RxJS WebSocketSubject? Are you interested in exploring the performance challenges behind this and seeing a live demo? Then this talk is for you.


Jay Phelps - Don’t Lose Your Marbles, We Can Test RxJS Code

10:15 am -

10:45 am

Testing complex async code can be challenging. But, since we’re using RxJS, there are utilities and patterns that can help us tremendously.

In this talk, we’ll cover the various ways you can test your RxJS code, including how to effectively use the TestScheduler with ASCII marble diagrams to virtualize time, which gives us fast, deterministic tests.


Coffee Break

10:45 am - 11:00 am

Grab a snack & coffee or tea, and tweet about #rxjslivelondon2020


Jan-Niklas Wortmann - Demystifying RxJS Operators

11:00 am -


Everyone that already uses RxJS knows that the added value of RxJS mostly comes from the provided operators. These operators enable us to develop complex scenarios in a fairly comprehensible manner. 

Right now RxJS already provides over 100 different operators and it is also possible to extend this huge list by developing custom operators. 

But wait, do you actually know how operators are internally structured? How is this magic piece of code developed that brings so much power?

Everyone uses RxJS operators on a daily bases, but no one really knows about the internals of it! Within this talk, we will take a deep dive into the internals of RxJS to understand how operators are developed. This will first make us understand how these operators work and second enables us to write our own operators to fully embrace the power of RxJS

jan-niklas worrtmann.jpg

Kapehe Jorgenson - The Battle of House Promises vs. House Observables

11:30 am -
12:00 noon

When learning RxJS, the naturally reaction is to compare it to JavaScript Promises. That’s fair. So in this talk I will be going over the creation and usage differences between promises and observables. Which one is better? Or which one will make the most sense in my project?


RxJS observables can be scary to transition over to, but I will show you the way. Why leave promises behind, you ask? No need. Keep those close. I will show you some pros and cons of using each and then leave you to make your final opinion.


Michael Hladky - Reactive Ephemeral State

12:00 noon - 12:30 pm

Ever heard about ephemeral state? 


Ngrx, ngxs, akita etc did a great job in managing global state in SPAs.

However, nobody talked about the complexity and pain of managing the component state. 


There is this quote of “Gang of Four”: 

“If you stick to the paradigms of OOP the-design patterns appear naturally.”


This will be the fundamental motivation for this talk.


As a result of Michael's studies, you will get an overview of terms and ways to categorize state.  You will know the tricky problems and challenges and learn how to craft component state reactively.


A few of the main problems you will run into when implementing local state management in a reactive way are:

  • Encapsulation and instantiation of local state

  • The late subscriber problem

    • Composition of cold observables

  • Sharing references over observables

  • Bind Subscription life-time to components/directives/pipes

  • Handle local side-effects


In a final step, the above problems are put together and implemented as a first draft of ephemeral-state-management based on Michael's findings. 


After this talk, you will be able to solve all of these problems with a clean and structured approach. As a side effect, the application will work (nearly) automatically zone-less.


Lunch Break

12:30 pm - 

01:30 pm 

Enjoy some luch and tweet about #rxjslivelondon2020

Jo Hanna Pearce - Readable RxJS

01:30 pm -
02:00 pm

"When you look at code using RxJS, what do you see? Pipes? Tracks? A marble run?

Maybe you see conveyor belts with prizes? (Where’s the cuddly toy?)

Can you sometimes work out what it does but not what it means?

Or do you see idiomatic code that you can parse into purpose?

Let Jo take you on a journey through patterns and pointers, analogies and analysis to ease the abstraction of raw RxJS.

Jo is going to try and make it readable."


Kwinten Pisman & Dominic Elm - 10x Developers Don't Need State Management Libraries

02:00 pm - 

02:30 pm

10x developers do not use state management solutions, they build their own! And we’ll show you by refactoring an existing, state management heavy app to only use RxJS whilst keeping features such as managing state, combining side effects and optimistic updates. In the end, attendees will understand how they can use plain RxJS before falling back to full-blown state management solutions and comprehend when it makes sense to use an existing solution rather than crafting their own Frankenstein's monster.


Nicholas Jamieson - Pluggable Strategies for Operators and Observables

2:30 pm -

03:00 pm 

The observables and operators included in RxJS can be viewed as primitives. Each offers specific functionality and complex behaviours can be declared by composing them into observable chains.


In this talk, we'll look at how behaviours can be composed in a flexible manner through the use of pluggable strategies. We'll look at the explicit and implicit strategies of some built-in operators and at alternatives.


Nicholas will introduce a package of observables and operators that support pluggable strategies. We'll look at how they work and at how you can use them in your apps to easily implement features that would otherwise be challenging.


Sandi Barr - You Don’t Know RxJS

03:00 pm -

03:30 pm 

The game show where startWith() and mergeMap() subscribe(). Do you have what it take()s? This interactive session will tap() into your reactive mindset and exhaust() your RxJS skills. Whether you take() first(), next(), or last(), it’s no race() to the finish. Everyone wins when we connect() and share(). Count() down, throttle() up, and get ready to expand() on every() insight without timeout() or delay().


Coffee Break

03:30 pm - 

03:45 pm

Grab some snacks and coffee or tea and tweet about #rxjslivelondon2020

Chris on Code - RxJS for Your React Apps

03:45 pm -

04:15 pm

RxJS is powerful in Angular. It can also powerful in other projects.  Let’s explore bringing RxJS into a React project. We’ll use React Hooks, Observables, Subject, and operators to bring reactivity to our React apps.


Speaker - Estefania Garcia Gallardo & Carlos Caballero - The power of RxJS: Building Flappy Bird in Angular

04:15 pm -

04:45 pm

To introduce reactive programming in with RxJS, we will be building the famous Flappy Bird minigame. We will cover everything from the basic concepts of reactive programming (observables, observers, subscriptions etc) to an advanced use of RxJS operators, as well as the latest versions of powerful web technologies like Angular and Pixi.js

rxjs_speakers_nya_and carlos.png

Speaker - David Khourshid - Putting the "Act" in Reactive: From Observables to Actors

04:45 pm -

05:15 pm

Can a half-century-old model of computation reduce complexity, improve performance, and make our applications exponentially more scalable and visually clear? The Actor Model can hold the key to simplifying the reactive apps we work on. Learn how RxJS observables and state machines can be used together make our apps more predictable, faster, and testable, with plenty of demos that will inspire you to put this event-driven, reactive model into action.


Speaker - David East - RxJS for... Web Performance?

05:15 pm -

05:45 pm

You may not have thought of RxJS as a tool to help with page load. But if you really think about it, web performance itself is an act of asynchronously loading assets and managing complex states. This is especially true for framework based web apps. Fortunately for us, RxJS excels simplifying asynchronous states.

This talk will cover the fundamentals of web performance and teach you how to use RxJS to offset long requests and lazy load heavy libraries. By the end you'll know a set of strategies to improve web performance in JavaScript heavy apps.


Networking Over Food & Drinks

05:45 pm -

06:30 pm

To be announced


Choose Your Own Adventure

6:30 pm

With so much to do in London, take your pick of a night out, see a show, or visit the nearby pubs.