JSFoo 2014

JavaScript as the centerpiece of a complex web stack


Vagmi Mudumbai


Writing beautiful JS apps with ClojureScript

Submitted Jul 25, 2014

  • Learn why you would want to use ClojureScript
  • An overview of basic language features
  • Escaping callback hell with core.async
  • Things to watch out for while developing with ClojureScript


ClojureScript is a functional language targeting javascript that brings the expressiveness of Clojure and Lisp to the Javascript. It generates javascript code that is compatible for advanced optimizations with the google closure compiler. While dealing with large codebases, ClojureScript elegantly organizes code into namespaces. If you like lodash/underscore, ClojureScript brings new data structures like persistent maps, vectors and sets to javascript with a huge treasure of functions to go along with it. ClojureScript is probably the only langauge apart from Elm that supports immutable data structures. Immutable datastructures enable frameworks like React that work on virtual DOM to be even faster while generating the virtual DOM. I have always like REPLs and tooling around ClojureScript in terms of nrepl and piggieback make it possible to have an environment similar to what Bret Victor had in his video Inventing on Principle

Speaker bio

I have been building apps for the past 10 years with various technologies like Clojure, Ruby, Node, Python and Java. Both libraries like jQuery and frameworks like BackboneJS, Ember, Angular have left me wanting with a better way to build large apps. Having worked with ClojureScript and Om, I beleive that ClojureScript with frameworks like Om/Reagent is probably the best way to organize large frontend codebase.




{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}