Sunday, November 30, 2008

Turbogears, Pylons, and Django

Been wanting to do some high productivity oss work at home lately. At first I was gonna write something in rails, but being as I have a bit more experience in python that Ruby, I decided to give the Python MVC frameworks a look.

From what I can see so far from my research and a few hours coding in django and turbogears.

TurboGears
  • Middle of changeover in orm technologies preferences. Version 1.0 prefers SQLObject, but has support for SQLAlchemy. 1.1 Beta has tigher integration with SQLAlchemy.
  • Horrid name, but seems like more classic MVC framework, has some convention of configuration out of the box.
Django
  • Has great docs. Can find loads of tutorials for it.
  • When I used it seemed I had to do a lot of manual url configuration. I found this obnoxious.
  • Nice out of the box admin pages, that are easy to set up. Some people find this gimmicky but I had little issue with it.
Pylons
  • Have not had time to code with this but from the docs appears to be a pythonic rails (claims as such).
  • It's a bit new and docs struck me as a bit more lacking.
  • Has conflict with turbogears somehow. Not enough of a python guru to figure this out. Other people had same issue, had to run one or other on the install however.
Overall my impression of the python MVC trio here was solid. It still does seem rails has convention over configuration down better, but I haven't used anything yet in any language that was as well thought out for "good defaults". Turbogears in particular is still better than say Castle Monorail, but that has more to do with the differences between static compliation and dynamic (look at the differences in the Castle's Active Record and Rail's to see what I'm referring too).

No comments: