TurboGears

TurboGears

Infobox_Software
name = TurboGears

developer = [http://www.blueskyonmars.com/ Kevin Dangoor] et al.
latest_release_version = 1.0.7
latest_release_date = September 15, 2008
programming language = Python
operating_system = Cross-platform
genre = Web application framework
license = MIT License, LGPL
website = http://www.turbogears.org

TurboGears is a Python web application framework consisting of several underlying components such as MochiKit, SQLObject, CherryPy and Kid.

TurboGears was created in 2005 by Kevin Dangoor as the framework behind the as yet unreleased Zesty News product. When he released it as an open source framework in the end of September 2005, it received more than 30,000 screencast downloads in the first 3 months.Fact|date=February 2007

TurboGears is designed around the model-view-controller architecture, much like Struts or Ruby on Rails, designed to make rapid web application development in Python easier and more maintainable.

TurboGears components

TurboGears components are as follows:

* SQLObject as the Model - data backend that can create a database or interface with existing data on many database servers.
* SQLAlchemy can be used as an alternative model layer and is slated to be the default in TurboGears >= 1.1.
* Kid as the View - XHTML frontend templating engine where all templates are valid XHTML or XML files that are usually made in a way that allows opening these templates as simple XHTML files to check the design. At the same time features are provided to embed snippets of Python in a XMLish manner.
* Genshi is the successor project to Kid and replaces the latter as the default templating engine in TurboGears >= 1.1. It is nearly 100% syntax-compatible to Kid. See also the "Template plugins" section below.
* CherryPy as the Controller - middleware that allows web applications to be programmed by writing event handlers that return data to (in TurboGears case) templates. The same data can also be received in Ajax fashion as a JSON data stream.
*MochiKit is an optional piece of TurboGears - it is a JavaScript library to make programming in JavaScript more Pythonic. It is mostly used for implementing Ajax features as it provides an interface to get JSON data streams in asynchronous manner.

Template plugins

Templating languages other than Kid can be used through a plugin system. Plugins currently exist for Genshi, Cheetah, Django templates, Mako, and Jinja. Several template engines can be used in the same application.

Project history

January 2007 Kevin Dangoor retired as project leader and Alberto Valverde managed the project as his successor,cite web |date=2007-01-03 |title=TurboGears has a new leader |publisher=Kevin Dangoor |url=http://www.blueskyonmars.com/2007/01/03/turbogears-has-a-new-leader/ |accessdate=2007-04-12 ] but susequently stepped down due to other personal commitments. Alberto is still involved in the TurboGears community through his ToscaWidgets project. The TurboGears project is now managed jointly by a group of about half a dozen core developers under the leadership of Mark Ramm (as the TurboGears 2 development lead) and Florent Aide (as the Turbogears 1.x release manager).

In June 2007 the community began experiments to put the TurboGears API on top of components and protocols used in Pylons and there was speculation that the two frameworks may finally be merging. [cite web | url=http://compoundthinking.com/blog/index.php/2007/06/27/turbogears-11-and-beyond/ | title=Pylons Merge | accessdate=2007-06-27] However, the official TurboGears 2 documentation states that this is unlikely to happen, due to the "different, but compatible priorities" [cite web | url=http://turbogears.org/2.0/docs/main/WhatsNew.html#why-not-just-merge-with-pylons | title=What’s new in TurboGears 2 | accessdate=2008-09-16] of both projects.

As of Fall 2008, TurboGears has a large and healthy community with over 3000 users on the TurboGears mailing list, a book from Prentice Hall published in Nov. '06, and a number of open source and proprietary TurboGears applications deployed to the real world. The development progresses at a moderate but steady pace and was also newly fueled by a successful participation of the project as a Google Summer of Code mentoring organization in 2008. A first beta version of TurboGears 1.1 was released in early September 2008 and a preview-release of TurboGears 2 is currently in alpha-state.

Future of TurboGears

Development currently happens in two main branches:

# The TurboGears 1.x branch, which is based on the original code-base and uses CherryPy as the underlying web application server.
# TurbGears 2 (trunk), which basically rebuild the TurboGears 1 API on top of Pylons.

TurboGears 1.1 will be a newer version of TurboGears 1.0, which continues to support exactly the same API. The main difference between 1.0 and 1.1 will be the choice of default templating engine and default ORM, i.e. it aims to replace SQLObject with SQLAlchemy and Kid with Genshi. The 1.1 branch is regarded as an intermediate step towards the Pylons-based 2.0 version. Recently, however, there has been made good progress to adapt the 1.x code-base to CherryPy 3.0 and a new 1.5 branch, which is currently in alpha-state, has been created.

TurboGears 2 is expected to go beta in early Fall 2008 with a 2.0 stable release to follow later this year.

Further reading

Ramm, M (Nov 7, 2006). Rapid Web Applications with TurboGears, Prentice Hall. ISBN 0132433885

References

See also

*Comparison of web application frameworks

External links

* [http://www.turbogears.org/index.html TurboGears homepage]
* [http://planet.turbogears.org/ TurboGears Blogs]
* [http://groups.google.com/group/turbogears TurboGears google group]
* [http://showmedo.com/videos/TurboGears TurboGears screencasts] and related videos
* [http://lucasmanual.com/mywiki/TurboGears TurboGears from start to finish]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Turbogears — est un framework orienté Web/Ajax et MVC basé sur des templates , des plugins écrits en Python. Model: SQLObject remplacé par défaut par SQLAlchemy depuis la version >=1.1 View : Kid remplacé par Genshi depuis la version >=1.1… …   Wikipédia en Français

  • TurboGears — est un framework orienté Web/Ajax et MVC basé sur des templates, des plugins écrits en Python. Model: SQLObject remplacé par défaut par SQLAlchemy depuis la version >=1.1 View : Kid remplacé par Genshi depuis la version >=1.1… …   Wikipédia en Français

  • TurboGears — Тип Программный каркас для создания веб приложений Разработчик Кевин Дангур(Kevin Dangoor), Марк Рамм(Mark Ramm) Операционная система Кроссплатформенный Последняя версия …   Википедия

  • TurboGears — es un megaframework para desarrollo web. TurboGears fue creado en el año 2005 por Kevin Dangoor Es un stack web completo, que abarca desde el Javascript del cliente hasta un mapper relacional objetos para la base de datos. Su última versión 1.0… …   Wikipedia Español

  • CherryPy — Developer(s) CherryPy team Stable release 3.2.0 / February 25, 2011; 8 months ago (2011 02 25) Written in Python …   Wikipedia

  • Genshi (templating language) — Infobox Software name = Genshi developer = latest release version= 0.5.1 latest release date = operating system = Cross platform genre = Template Engine license = website = [http://genshi.edgewall.org/ http://genshi.edgewall.org/] Genshi is a… …   Wikipedia

  • Pylons — Тип Программный каркас для создания веб приложений Разработчик Бен Бангерт, Джеймс Гарднер Операционная система Кроссплатформенный Последняя версия 1.3 ( …   Википедия

  • CherryPy — Тип Фреймворк для создания веб приложений Разработчик команда CherryPy Операционная система любая Языки интерфейса Python Последняя версия 3.2.0 ( …   Википедия

  • MochiKit — Stable release 1.4.2 Written in JavaScript Operating system Cross platform (JavaScript) Type JavaScript library …   Wikipedia

  • Metawidget — With reference to GUI widgets, the term metawidget has been adopted for different purposes. It has been used to describe a widget of widgets , a widget about widgets and also a widget for metadata . Widget of widgets A widget that is composed of… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”