Space, time and state
.NET Fringe
Building responsive and predictable GUI applications is what we strive for, and reactive programming is the trendy way to achieve that. But almost everything we program today can be described as reactive: we react to user input by changing our application state.
The presence of state, and state that changes over time, has important implications for our application architecture. It complicates things enormously.
Writing reactive applications which are easy to reason about is no simple task. This talk reveals how reactive programming is only half the story of building responsive, testable, and predictable applications, and how applying a functional style to our code lets us clearly reason about, and react to, user input over time.
Using Reactive Extensions, we explore what it means to mix traditionally imperative design patterns with functional reactive programming, and take a look at some tricks you can use to remove the need for state without sacrificing clarity in your architecture.