AMC Town Square 18

6587 Las Vegas Blvd South

Las Vegas, NV 89119

  • White Twitter Icon

Follow RxJS Live on Twitter

Thursday, Sept 5th

Registration

8:00 am

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

Ben Lesh - The Future of RxJS

9:05 am

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

Tracy Lee - RxJS - Operator, What's Your Real World Use Case? Important Operators in RxJS Explained

9:40 am

Are you overthinking RxJS? Overwhelmed by the ~70 operators available to you? Confused by the docs and need someone to explain to you what on earth the differences between all the -maps are? Are you using that operator right? What operator should you actually be using? How do other people use RxJS operators?

 

This talk covers walks through lamens terms definitions and real world use cases for some of the most important operators out there so you can effectively maximize your use of RxJS and get clarity on what RxJS is doing in your application.

Break

10:10 am

Grab a drink and tweet about #rxjslive2019

Michael Hladky - A Deep Dive into Subjects

10:30 am

Do you really understand subjects? Probably not! By diving deep into the source code of RxJS, you will gain advanced knowledge about the different type of subjects, how to implement them on your own and all the nitty gritty details.

 

This talk will demonstrate how to use subjects, solve multicasting problems, implement caching, maintain your subscribers and implement a message bus. You will also realize how often you misuse subjects.

 

After this talk, you will understand: - What’s a subject? - Types of subjects? - How to implement subjects on your own - Common scenarios and use cases for subjects - The difference between Subject, Behavioursubject, ReplaySubject and AsyncSubject - How to deal with multicast and single cast observables - How to implement caching And you will have enough knowledge to implement subjects in your production projects

Nicholas Jamieson - Tools for an Awesome RxJS Developer Experience

11:05 am

RxJS makes declaring asynchronous behaviors simple, but visualizing and debugging composed observables using conventional tools can be hard.

 

In this talk, we'll look at why RxJS is difficult to debug and at some tools that make visualizing, debugging and profiling RxJS an awesome developer experience. We'll look at how observables can be queried, logged, paused, resumed and profiled without having to modify your app's code.

Lunch

11:40 am

Grab some food and tweet about #rxjslive2019

Lightning Talks

12:40 pm

Do you have something you'd like to discuss or present? Let us know and we'll get you signed up for a 7 minute time slot.

Kapehe - The Battle of House Promises vs. House Observables

1:20 pm

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.

Sam Julien & Mike Ryan - What Groups By in Vegas Stays in Vegas

1:40 pm

What if I told you that one of the most useful operators in RxJS is also one you probably have never heard of? In this talk, you'll meet the quiet workhorse called "groupBy."

 

Don't let its understated nature fool you -- groupBy can change your life! The groupBy operator thrives in heavily interactive UIs, like when users rapidly favorite a bunch of items in a list. When combined with some of the other operators like concatMap, groupBy really shines.

 

In this talk, you'll learn how to harness its power and take your reactive code to the next level. Using a framework-agnostic approach, you'll see how to use groupBy to give users an excellent experience. You'll also learn the *why* behind when to use groupBy and common pitfalls to avoid with it. Of course, you'll also leave with sample code you can take back to work and start building from right away. Viva Las groupBy!

Kim Maida - Subjecting State to Good Behaviour

2:15 pm

Apps of all sizes need to manage state. What if we can't afford the code cost and indirection of a Redux-like third party state machine? What if we don't want to decouple our business layer? Let's use RxJS to set up reactive, uncomplicated state management using behavior subjects, observables, and immutability.

 

In this talk, we'll explore scaling up a store with RxJS from extremely simple to more robust, and come away with knowledge that will help us gain a better understanding of reactive state management.

Break

2:45 pm

Grab a snack and tweet about #rxjslive2019

Michael Madsen - Reactive Responsive Design

2:55 pm

Let's look at some creative ways to use RxJS with native web functionality to build next evolution of responsive design! We will go from concepts through implementation. In the end you will have a system where you can stop worrying about media queries and focus on reactive page layouts driven by all the goodness of RxJS. Taking a reactive approach to responsive design provides greater testability, better performance, and is more maintainable for large teams. Come see how to do responsive design with RxJS!

Joe Eames - Understanding RXJS Error Handling

3:30 pm

Any production application utilizing RXJS needs to utilize error handling, and often time RXJS error handling can even act as flow control. For these reasons understanding how RXJS error handling works is important.

 

In this talk, we'll dig into how error handling works in RXJS, how to use it for exceptional cases, how to use it for flow control specifically with HTTP errors, and we'll learn best practices around using error handling while we're at it.

Dinner

5:00 pm

Grab some food and tweet about #rxjslive2019 (Self Pay)

Choose Your Own Adventure

7:00 pm

With so much to do in Las Vegas, take your pick of a night on the Strip, see a show, or visit the nearby Game Works if you're in the mood for board games or arcades. Join the RxJS Live Slack channel to connect with new friends.

Arrival

8:00 am

Get some caffeine so you're ready for Day 2 of RxJS Live!

Matt Podwysocki

9:05 am

Advanced RxJS Wizardry combined with a history of how RxJS came to be.

Hannah Howard - Reactive Architecture with Signal Graphs

9:40 am

One of the most difficult questions when writing applications with RxJS: how to I build a data model for my application with observables?

Existing data modeling solutions use RxJS to mimic other more well-known solutions for state management -- i.e. how would I build Redux with RxJS? This approach often sacrifices the power and potential of observables without providing much benefit. At the same time, working with raw observables without any framework brings up a million pitfalls -- hot vs cold, when to subscribe, how to manage dependencies and test, etc.

Signal is drawn from our experience as professional programmers at Carbon Five who use RxJS on a number of production projects, and is essentially captures our "best practices" we've developed over time for modelling data with Observables.

Break

10:10 am

Grab a drink and tweet about #rxjslive2019

Jay Phelps - Backpressure: Resistance is NOT futile

10:30 am

Backpressure—resistance opposing the desired flow of data through software—from massive scale, to death by a thousand cuts, it's something nearly every software engineer will have to deal with at some point. For some, it’s a frequent problem. But the term itself isn’t nearly as understood and recognized as such. In this talk, we'll discover what backpressure really is, when it happens, and the strategies you can apply to deal with it.

Dean Radcliffe - Making React Forms Reactive

11:05 am

Despite their apparent simplicity, Web Forms are still one of the trickier things to get right. Changes over time cause any static definition of a form to be incomplete. Fortunately, RxJS Observables are great at managing changes over time! Dean will share organizational and conceptual tricks that enable conversational UX, flexible validation, scroll and focus management, and more.

 

Using an event-driven architecture, Dean will show how to use React for rendering local state while using Observables as the communication mechanism between components of the form. He'll share how RxJS can enhance state management and provide abstractions between modules of code.

Lunch

11:40 am

Grab some food and tweet about #rxjslive2019

Lightning Talks

12:40 pm

Do you have something you'd like to discuss or present? Let us know and we'll get you signed up for a 7 minute time slot.

Kim Maida & Sam Julien - RxWAT?!?

1:20 pm

So you’re working on your application late one night and need to handle some data. Your app uses RxJS, so you think, “Great, this will be...easy? Let me just figure out which operator to use.” You pull up the docs (wait, no, not version 4, try again). You pull up the unofficial docs. Yeah, that’s better. Okay, looking for an operator…Distinct until what? What’s a forkJoin? These examples all have to do with multiplying arrays of numbers. Okay, what about these weird diagrams?

Wait, what the heck do marbles have to do with programming?!

 

RxJS is fascinating and powerful, but the learning curve for reactive programming can be...challenging (to say the least). In this talk, we’ll take a light-hearted approach to demystifying reactive concepts, unfortunately-named operators, and more. Whether you’re already a reactive wizard or still a fledgling Rx apprentice, you’ll laugh (and maybe cry) while learning some new magic.

Michael Gerakis - Demystifying and Harnessing the Power of the Multicasted Observable

1:40 pm

One of the most powerful traits of RxJS is the ability to multicast an observable and share its output among multiple subscribers. While this feature can be extremely useful, it can lead to unexpected behavior if not understood. This section will dive into the different methods of multicasting an observable, and the various nuances that happen following different notification events.

 

After building up this foundation, we will explore how the power of multicasting can be leveraged to create reusable pipes that offer solutions to common business problems, such as caching and refreshing data in the UI. Finally, we will look at specific anti-patterns, why they are dangerous, and how to avoid them.

Break

2:10 pm

Grab a snack and tweet about #rxjslive2019

Jan-Niklas Wortmann - Fixing Asynchrony with RxJS

2:20 pm

This presentation will contain lots of live coding to introduce some powerful patterns when dealing with asynchronous operations.

David Khourshid - The (Finite) State of Reactive Animations

2:55 pm

Reactive animations are more than just timelines. They adapt and respond to user input, creating a lively, exciting, and meaningful user experience. However, these dynamic user interfaces can quickly become complex, especially as features are added. So how can we build them in a manageable, scaleable, flexible, and declarative way? Enter finite state machines (FSMs).

 

In this session, we will explore how FSMs can organize app logic and choreograph complex, reactive animations with RxJS. These state machines can also be used to automatically generate visualizations of the logic, which enables us to not only observe the current app state and events in real time, but simulate and test these animations. There will be many demos highlighting these complex reactive animations, with resources to help you use them in your front-end projects today.

RxJS Core Team - Q & A

3:35 pm

This is your chance to ask the RxJS Core team your burning questions. Or just sit back and observe. It's up to you.

RxJSLive$.complete()

4:10 pm

See you next time in Vienna! 

Friday, Sept 6th