Gary King asked why a person would choose Ruby on Rails over Lisp in web development. Well, I don't know about that, but now that I've used TurboGears, there are things that I've become to appreciate in frameworks.
So, from the top of my head, not a complete or decisive list, and in no particular order, some of the things that I've grown to like in a web development framework:
- A decent website. (Which is kept up-to-date. Might even get a facelift now and then. Gasp.)
- Continuous development (That is, new releases.)
- Project quickstart. (
tg-admin quickstart myprojectand you're ready to hack and view results at localhost:8080 or whatever.) - Painless but powerful HTML-templating. (Kid in TurboGears.)
- HTML-templates are can be viewed as HTML. (Ie. no custom "HTML" tags.)
- Easy ajax integration. (Especially important: don't have to duplicate anything on the server because of AJAX. Meaning that controller methods return the exact same data whether it's rendered with a Kid template or with Mochikit.)
- Ajax library that fixes some of Javascript's flaws (Mochikit makes Javascript look more like Python, in a good way.)
- Works on windows, too. (I primarily work on Linux, but I do need Windows box also.)
- Development environment. (I don't have to manually restart the webserver whenever I make changes in the templates or the code.)
- Quickstart tutorial. (Get a good understanding of the framework in just few minutes.)
- Documentation. (Well, the documentation of TurboGears is pretty scattered, but there is documentation.)
- Plugged-in persistence. (If I just want to persist something, it should be easy. And it is, with SQLObject.)
- "Shell access" to persistent data. (
tg-admin shell ..) - Bugfixes, bugfixes, bugfixes.
- Features, features, features.
- Straight-forward server configuration. (No XML, please.)
- Clear development/production distinction.
- MVC. (No religion here, it's just nice to have.)
- Fast and easy install.
- Visibility and buzz.
So, there.
It's not to say that every framework should have just those and a bunch of other features, but they make TurboGears feel good for me.
Filed under: python