Since the bulk of the server side for The Path of the Seven Millennia has just been completed, we would like to spend a couple of words on the technological stack of our choice and our experience with it so far.[...]
Clojure is a wonderful language, even though I must confess that my skills in it are still not good at all. Lisp has always been a very powerful and expressive language and Clojure takes the best out of it, with some more nice added features. I’m really impressed by how easy was to build our server side part. Functional programming seems really suited for web development (our server is mainly a REST api called by our apps). After using Clojure for a while, I’m starting to look at OOP with different eyes.
To ease development I’m of course using some Clojure libraries. For the REST implementation I use Compojure (which is built on Ring). To interface with GAE I useAppengine Magic. This library still has not reached the 1.0 release, but it does already a very good job to interface with GAE without using directly Java from Clojure.