The end of the monolithic web framework

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at:

I see the same trend in the world of PHP (where Symfony 2.0 is much more broken into components than Symfony 1.0) and Rails (where integrating Merb meant breaking Rails into a series of Gems) but this trend has gone furthest in the world of Clojure. The news that Noir is now ending means that Clojure will have no monolithic framework comparable to Symfony, Rails or Django:

Chris and I discussed this last night, and we decided that it’s time to deprecate Noir and ask that people focus on Compojure instead. The good news is that you don’t have to give much of anything up if you move to Compojure! A while back when I started moving my own sites to Compojure, I took most of the useful libraries that were embedded in Noir and I split them out into a new library that you can use from Compojure! lib-noir is the legacy of Noir. The best thing that came out of it. It has all the useful stateful sessions, flashes, cookies, as well as the other useful libraries. In fact, the latest release of Noir depends on this library so if you’re using it, you’re already secretly using lib-noir!

For new websites, please use Compojure and lib-noir. This is pretty much just as batteries included as Noir itself ever was! You just have to learn how to write routes with Compojure. It’s easy and just as concise as it was in Noir. You don’t have to use ring-jetty-adapter and stuff, just use the lein-ring plugin to start your server.