Get prepped for an amazing day of RxJS goodness and grab some swag!
Welcome & Intros
09:00 am -
Welcome, Intros, Code of Conduct
Ben Lesh - The Future of RxJS
09:10 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 -
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 -
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.
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
Kapehe Jorgenson - The Battle of House Promises vs. House Observables
11:30 am -
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.
12:30 pm -
Enjoy some luch and tweet about #rxjslivelondon2020
Jo Hanna Pearce - Readable RxJS
01:30 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 -
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 -
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 -
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().
03:30 pm -
Grab some snacks and coffee or tea and tweet about #rxjslivelondon2020
Chris on Code - RxJS for Your React Apps
03:45 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 -
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
Speaker - David Khourshid - Putting the "Act" in Reactive: From Observables to Actors
04:45 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 -
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.
Networking Over Food & Drinks
05:45 pm -
To be announced
Choose Your Own Adventure
With so much to do in London, take your pick of a night out, see a show, or visit the nearby pubs.