Hacker News new | ask | show | jobs
by cgag 4902 days ago
Clojure is very capable for web development, but getting started is not as clear cut as it is with something like Rails or Django. This is because the Clojure community tends to eschew large frameworks, and instead prefers using smaller, more focused libraries. This provides a lot of flexibility, but is intimidating at first because it requires you to choose your own libraries for routing, db interaction, templating, etc.

Everything is to be built on top of Ring, which is the Clojure equivalent of Rack or WSGI. Compojure is pretty much the standard for routing at the moment. Korma is a very popular DSL for writing SQL. For templating, Hiccup and Enlive are popular, but there are other options as well.

I would start off by getting a decent understanding of Ring and Compojure and building from there.

--

https://github.com/ring-clojure/ring

https://github.com/weavejester/compojure

https://github.com/weavejester/hiccup

https://github.com/cgrand/enlive

http://sqlkorma.com/

http://www.clojure-toolbox.com/ is really helpful for finding appropriate libraries.

1 comments

I do a lot of web development in Clojure using Noir, Compojure, Hiccup, etc.

I find this setup similar to using Ruby + Sinatra.

I still keep up to speed with Rails versions, etc., but in the last year almost all of my web development has been with either Clojure or Ruby + Sinatra.