Clojure Gazette 1.7

Clojure in the browser

Clojure Gazette

Issue 1.7 - April 26, 2012

editorial

Clojure client + server

It is getting easier and easier to write web applications. The web is still growing and the capabilities of browsers keeps expanding. People are demanding more and more from their experience on the web.

Clojure is an excellent language for web development. Ring, on the server, is the perfect balance of spec and code. And now with Clojurescript, we can enjoy the benefits of writing in one language on client and server, just as Node.js claims.

But the Clojurescript adventure is really just starting. Although we have seen many examples and demos written in Clojurescript, we have yet to find the vital point of the DOM and other browser issues the way Ring struck the vital point of web requests. And setting up a decent Clojurescript dev environment can still be a pain. The road will be long but full of excitement. Let's get to work.

Eric Normand

there can be only one

Clojurescript One

A well-designed site, smooth launch, and enticing video all lend an air of professionalism to this exciting project. And the promise of executing code in the browser from Emacs in Clojurescript is too good to pass up!

browser toys

Try Clojure

A Clojure REPL in the browser. Nice for learning Clojure.

the unveiling

Rich Hickey Unveils Clojurescript(video)

Ah, I remember the day well when this video was posted. I was a bit skeptical at first. Another toy X to Javascript compiler. But Clojurescript turned out different. It was not just "Javascript with macros" or "Javascript but pretty". It is the best of Clojure backed by the brains at Google who developed the Closure compiler. This video is definitely worth a watch.

from fogus

Himera

Himera is a Clojurescript compiler as a web service. It would be good to read up on the compilation model for more information.

web frameworks

Noir

Noir is a web framework that makes it pretty easy to get started. It has a leiningen plugin to create a new project. It also has some cool integrations to work with Clojurescript automatically, called Pinot.

ring around the clojure

ring-clj-params

There are worse-named libraries out there than ring-clj-params. If you have ever wanted to use serialized Clojure data structures (maps, vecs, etc) instead of JSON, now's your chance. And with the reader literals available in Clojure 1.4 you can't go wrong.

short stack

A Brief Overview of the Clojure Web Stack

A complete if orange-tinged description of many of the pieces of the Clojure web ecosystem.

from beyond

AngularJS

AngularJS is an impressive MVC framework in Javascript for browser app development. It's not Clojure/Clojurescript directly, but it should be compatible with Clojure since AngularJS is compatible with the Closure compiler.

dynamic data visualization

c2

This is a Clojurescript data visalization library inspired by d3. d3 was based heavily on mutable state caried around in closures. But c2 is written in Clojure, with all the immutable values baked in. Worth checking out.

clo(s)ure

Google Closure

Clojurescript is built to be compatible with Closure. Closure is a huge set of libraries and tools that Clojurians have yet to wrap for our own usage. There is a great tutorial and complete (if daunting) api documentation. Let's get to work mining these depths!