Talks
Events

Functional Client-Side ClojureScript UI Programming with Webfui

Conrad Barski at Clojure/conj 2012

What if the inventor of the web browser had been a Clojure programmer? Probably, client-side web programming would work differently than it does now... but in what ways? For one thing, we might want the DOM to be just a plain old Clojure data structure... but how would we modify it? Also, we might want browser event handlers to be purely functional functions... but what type of data would they return? Finally, how would we do AJAXy stuff, without sacrificing our beautiful functional code to the demons of imperativism? Webfui is a set of libraries that tries to answer these questions. With Webfui, you can pretend your program is actually running inside of this hypothetical Clojure-friendly web browser... and the libraries take care of the rest.