October 4, 2006
discussed TurboGears at the meeting this week. The crowd was mostly unfamiliar with TurboGears, and most were unaware that it was conjured up and written here in Ann Arbor (well, at least originally … it’s open source, so it’s now getting contributions from all over the world).
Most people know about , so he contrasted the frameworks a bit. Basically, Rails is a highly integrated, single piece of software. It uses some naming conventions, and if you follow them, things will just line up and work. But the magic can be a bit disconcerting for some. Features are either provided via Rails, or not available within the framework. That’s the beauty and cost of a single piece of software.
TurboGears doesn’t follow naming conventions. It’s a mega web framework. It combines best of breed tools in Python to support web development. This allows for components to be traded out and replaced with newer, better components, if they become available.
The heart of TurboGears centers around the following components:
Templates can be made to look really simple by using and extending the master.kid file. Actually, you can have several master.kid files, and use appropriately in different parts of the application.
has good shared hosting for TurboGears apps. Currently, their control panel only creates 0.8.9 TurboGears apps, but if you ask the webfaction staff will send instructions about installing the newly released 1.0b1 for use with webfaction. They also help to support the TurboGears project.
From a commercial licensing standpoint, there are no hindrances to using TurboGears. It uses the very liberal BSD-style license, which allows you to write applications using TurboGears for commercial use.
Widgets are provided, to reduce work for the developer. Kid produces designer-friendly templates, that can be edited in programs like Dreamweaver without perturbing the python constructs (since Dreamweaver ignores them), but allowing the designer to see placeholders when testing layout without running a web server.
A question from the audience asked Mark to compare with ASP.NET. Basically, he said that you can do anything in ASP.Net that you can do in TurboGears but that you will have to write more code in ASP.NET. Maybe we will see some head-to-head comparisons at in January.
Future Directions in TurboGears:
1.SQLAlchemy will replace SQLObject as the default object relational mapper in the future. It does everything that SQLObject does, and more. Needs a bit more work to simplify the definition to match that of SQLObject
2.Genshi will replace Kid as the default templating system. It uses pretty much the same syntax but is about 40% faster.
1.Mark’s book (Rapid Web Applications with TurboGears) is going to be published in November. Half of the book is now available, on .
2.The latest issue of has an article on TurboGears, written by Mark Ramm. It doesn’t appear that it’s available online. Here’s a summary of that article: http://compoundthinking.com/blog/index.php/2006/09/22/turbogears-in-linux-magazine/
3. contains screencasts and can be purchased on the TurboGears website.
4.Docs are available on the .
Examples of high traffic sites that run TurboGears: