Monday, August 13, 2007

What's turbogears?

TurboGears is a rapid development "front-to-back" web meta-framework. Its aim is to simplify and speed up the development of modern web applications written in the Python programming language.

Create great web apps faster!

That's it. That's the goal of TurboGears … That and to make it easier: The two goals are to create web apps faster and easier … And more fun: The three goals are to …

How does TurboGears do it?

  • By making it as easy as writing a method to expose functionality to the web
  • By allowing you to seamlessly provide nice HTML or an API for JavaScript to work with
  • By giving your designers room to work with any XHTML tool to create great layouts
  • By letting you use your database without writing SQL
  • By filling in gaps in JavaScript, so that you'll actually enjoy writing it!
  • By using a language that is clear, concise and dynamic

More than the sum of its parts!

TurboGears takes the best components available and combines them into one easy-to-install, documented whole. TurboGears includes parts that join the pieces together and make them work together seamlessly, but doesn't obscure each included project. This allows you to take advantage of all existing documentation, articles, mailing lists and other resources that have built up in the communities for each project.

From frontend to backend:

  • MochiKit is a clean and powerful JavaScript library
  • Kid is a designer- and programmer-friendly template system
  • CherryPy makes doing web input/output as easy as writing a Python function!
  • SQLObject lets you access your database as you would normal Python classes, without obscuring the database itself.

Now that you know a bit about the parts of TurboGears, read more about how TurboGears ties it all together.

But, wait! There's more!

If TurboGears were a movie and the four projects above were the main actors, we'd still need key grips, caterers and the like. Here are some of the other bits of infrastructure needed for TurboGears:

  • ElementTree is an easy-to-use and blazingly fast XML library.
  • FormEncode provides a simple and extensible validation framework.
  • Nose extends standard Python unittest features to make running your tests easier.
  • json-py does round trip conversions between Python and the JSON format.

Python and every other language out there have many choices available for each part of a web application. First and foremost, TurboGears assembles a great collection of tools, packages them for use together and provides information on best practices when used together. Many people have similar needs when developing web applications, and there's a lot to be gained by putting it all together.

source from: http://turbogears.org/about/

No comments: