Nick Carroll

Metabolising caffeine into code

TurboGears or Ruby on Rails?

with 3 comments

I’ve been reading a lot lately about how good Ruby on Rails (RoR) is. In fact I know of a few developers that left OpenACS for RoR, and they haven’t looked back. Well it appears that there is a new kid on the block, and its name is TurboGears.

TurboGears is a framework that links a bunch of python packages together for rapid web development. They have a few demos, such as the 20 minute wiki screencast, which shows you how to develop a wiki application in – you guessed it – 20 minutes. Very similar to RoR’s 15 minute weblog screencast.

What I like about these new web application frameworks is that they are employing the use of object relational mapping (ORM) tools. TurboGears uses SQLAlchemy, which is a python based SQL toolkit and object relational mapper. RoRs has something similar, and if Java is your trade, then you probably use Hibernate with your Spring based apps. Unfortunately, this is something that OpenACS lacks, but I wouldn’t say that it is reason for dismissing OpenACS.

A lot of the templating, validation, and DB APIs were features of OpenACS long before RoRs and TurboGears came along. Where these other frameworks are gaining popularity, is in the perception of how quick it is to develop applications. Much of this perceived quickness comes from using scripts to auto-generate code, and an ORM for generating the DB schema and mappings to objects.

So for the last few months I’ve been wondering if I should jump into RoR, and see what all the fuss is about. Now all of a sudden TurboGears has popped up on my radar, and I’m now wondering if it too is worth the leap of faith. Both frameworks look appealing, but I’ve been wanting to learn Python for a while, so I may end up leaning towards TurboGears… unless of course some other flashy looking framework pops up on the radar that promises developing a trendy web application in 10 minutes! Since my PhD is nearing its end, I will certainly want to check out these other frameworks, as I should have a lot of time left for tinkering. Though for the time being, I am satisfied with OpenACS, as it comes complete with a blog and a wiki already developed. :P

Written by Nick

June 4th, 2006 at 9:45 pm

Posted in Programming