The web moves quickly and we all know it. Today, Reactive Programming is one of the hottest topics in web development and with frameworks like Angular or React, it has become much more popular especially in the modern JavaScript world. There’s been a massive move in the community from imperative programming paradigms to functional reactive paradigms. Yet, many developers struggle with it and are often overwhelmed by its complexity (large API), fundamental shift in mindset (from imperative to declarative) and the multitude of concepts.
The goal of this talk is to give you an idea how to approach a problem in a functional reactive way by building a classic video game that we all know and love - Snake. Games are fun, but at the same time complex systems that keep a lot of external state, e.g. scores, timers, or player coordinates. For our version, we’ll make heavy use of Observables and use several different operators to completely avoid external state.
Links:
https://github.com/thoughtram/reactive-snake
https://blog.thoughtram.io/rxjs/2017/08/24/taming-snakes-with-reactive-streams.html