Functional frontend with React and pure JavaScript / ClojureScript


Details
Two experienced developers and speakers will share their experiences with FP using Facebook's highly popular React.js. August Lilleaas, famous for his Clojure and ZeroMQ ventures and popular JavaZone talks, will show us React in pure JS while Christian Johansen, the author of Test-Driven JS Development and (co-)author of Buster and Sinon, will show us React used via the ClojureScript wrapper Om.
Pizza and drinks will be served 18:45 - 19. (Normal & vegetarian; let us know in advance if you would like to have a gluten-free one as well.)
A. Lilleaas: Advanced Facebook React
Facebook React is a JavaScript library for building user interfaces. It is completely different from AngularJS, Backbone, Ember, and the others. We'll look at building some concrete user interfaces with Facebook React, and try to reflect the challenges we face when we're building actual user interfaces at work (no "build a todo list in 15 minutes"). I've used AngularJS a lot, so we'll also look at some cases that compares AngularJS and Facebook React so we can learn what their benefits and tradeoffs are.
React is also relevant to us functional programmers, since it's architected in a very functional way. Essentially, you return your UI as a value, instead of doing fancy partial updates yourself to improve performance.
We'll also look at building a single page web app using React that also renders your UI from the server, without any code duplication. So your site works without JS enabled, is crawled by search engines, and gets content rendered immediately on mobile without having to wait for JS to download and run.
C. Johansen: Functional UI programming
Over the past few years, many libraries, tools and languages have been made available to make the benefits of functional programming more easily accessible to the frontend programmer. Until recently though, the UI programming - DOM manipulation and various abstractions over it, has been entangled in stateful, messy and buggy APIs.
Facebook's React offers a refreshing take on UI programming in the browser, allowing us to model our UIs with data. Couple this with immutable data structures, and all the other Clojure goodness in Clojurescript, and the stage is set for wonderful functional UI programming. In this talk, I will show some examples of UI programming in Clojurescript with Om (one of the available React wrappers in Clojurescript) and a sprinkling of core.async for event handling.
---
Each talk will take approximately 45 min.

Functional frontend with React and pure JavaScript / ClojureScript