London Beer & Tech - Cycle.js
**** THIS EVENT IS NOW CANCELLED ****
LONDON BEER & TECH is back this year and we are happy to have two speakers Nick Balestra and Justin Woo talking about Cycle.js
==> First talk by Nick Balestra (@nickbalestra):
Title: Compose and cancel async actions in Redux using Functional Reactive Programming
Abstract: Learn how functional reactive programming can be used to manage async actions in Redux, in a pure data-flow manner and without side effects. We’ll explore how to structure your code in Redux Reducer Bundles and how to approach testing them.
More info: There are so many options to deal with async actions in Redux that it’s hard to know which one to choose. By thinking of Redux actions as a data-flow we can understand why Observables can be used with React and Redux to manage asynchronous effects.
In this direction Netflix released an RxJS 5-based middleware for Redux allowing developers to easily compose and cancel async actions to create side effects within what they call epics. The problem is that we still have side-effects within in our epics, meaning we’re still writing imperative code.
In this talk I’ll shares how functional reactive programming can be used with Redux to manage asynchronous effects by introducing a new middleware that intercepts Redux actions and allows us to handle them using Cycle.js in a pure data-flow manner, avoiding side effects.
Heavily inspired by redux-observable, the redux-cycle-middleware replace epics with an ACTION driver observable with the same actions-in, actions-out concept. The main difference is that we can now handle actions inside the Cycle.js loop and therefore take advantage of the power of Cycle.js functional reactive programming paradigms.
Bio Nick Balestra: Software Engineer. Writing Node and JS applications at scale @OpenTable. @Cyclejs community contributor (create-cycle-app & redux-cycle-middleware). @funjsldn co-organizer. Life is like an npm install.Twitter: @nickbalestra
==> Second talk by Justin Woo (@jusrin00)
Title: Simpler Cycling with Megadrivers
Abstract: Writing cyclejs apps can be weird when you have to work with separate streams fed into drivers. This talk proposes one way to get both stronger typing and a simpler model for your cycle projects by combining them into a 'megadriver'.
19:00 -> Doors open. Have some beers & pizzas
19:30 -> Compose and cancel async actions in Redux using Functional Reactive Programming
19:55 -> 5 min break, grab a beer
20:00 -> Simpler Cycling with Megadrivers
20:30 -> Grab a beer and chat