JSFoo 2014

JavaScript as the centerpiece of a complex web stack

Writing beautiful JS apps with ClojureScript

Submitted by Vagmi Mudumbai (@vagmi) on Friday, 25 July 2014

videocam
Preview video

Technical level

Intermediate

Section

Full talk

Status

Submitted

Vote on this proposal

Login to vote

Total votes:  +8

Objective

  • 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

Description

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.

Slides

http://www.slideshare.net/vagmi/jsfoo-2014-building-beautiful-apps-with-clojurescript

Preview video

https://www.youtube.com/watch?v=4awgO0keEws&feature=youtu.be

Comments

Login with Twitter or Google to leave a comment