Tuesday, 6 November 2007

Web programming frameworks

I've been putting this off for long enough. I want to decide on a web programming approach. In the past, I've used ASP.NET and Python CGI. They are both OK but last I remember, ASP.NET relies on a crap load of wizard generated code and this is bad. CGI is just annoying.

I guess it would help to list my criteria:

  • Designer-friendly
  • Small is beautiful
  • No generated code required
In the Python world, I've toyed around with CherryPy. I thought it was quite good and it allowed me to (more or less) focus on the app I was writing rather than jamming the framework into my app. I have no problem at all with CherryPy and might just stick with it.

In the Common Lisp world, I want to try UCW and Hunchentoot. My favourite thing about UCW is that it tries to hide you from the bad world of stateless HTTP in quite a clever way. I don't think that there is anything particularly novel about Hunchentoot except that it doesn't get in your way. This is another way of saying "do-it-yourself" which I am more than happy to do. In general, both of these guys fulfill my (admittedly small) set of criteria.

I know that Java is the 800-pound gorilla in this space and to be honest I haven't actually tried any of the Java frameworks. I don't think any framework can make up for Java though so I would likely use some other JVM language were I to try a Java web framework.

I think I'm going to try one of the Common Lisp frameworks (obviously using SBCL) and see about reporting my findings!

Edit: Looks like Django is a contender as well

No comments: