TurboGears 是個用 Python 寫成的開放原始碼網頁開發框架(web development framework),由許多元件組成,包括 MochiKit、SQLObject、CherryPy 和 Kid 等等,各以 MIT license、LGPL 等條款授權,號稱和 GPL 相容。TurboGears 依 Model-View-Controller 架構設計,並注重元件的可抽換性。
功能
TurboGears 是由元件所組成,以下簡單介紹主要的元件:
SQLObject: 是 MVC 中的 Model 部分,可和許多關連式資料庫引擎連接的資料庫介面,是 TurboGears 的資料後端主力。
Kid: 是 MVC 中的 View 部分,以 XHTML 或 XML 當模版產生網頁。通常可以直接用瀏覽器觀看模版以了解外觀的設計,並允許在 XML 語法中嵌入 python 的小片段。
CherryPy: 是 MVC 中的 Controller 部分,讓網頁應用以事件處理器(event handler)的寫法實作。事件處理器要把資料傳回給模版系統或回傳 JSON 資料給 AJAX 程式。
MochiKit: 是 TurboGears 的選用元件,讓 JavaScript 程式更接近 Pythonic 的 Python 風格,提供了非同步 JSON 資料的介面,大多用在 AJAX 的實作上。
市面上的 HTML 模版系統非常之多,TurboGears 提供了 plugin 以和各模版系統接口,目前支援的有 Cheetah、Django 模版、Genshi 和 Jinja。TurboGears 還有多種模版引擎共存於同一網站的機制。
歷史
TurboGears 是 Kevin Dangoor 於 2005 年 9 月釋出的,三個月內下載超過三萬次。目前(2007 年)已發展出不小的社群,Prentice Hall 並於 2006 年 11 月出版了 Mark Ramm 寫的 "Rapid Web Applications with TurboGears" 一書。原開發人於 2007 年 1 月將維護者的地位交棒給了 Alberto Valverde。
相關軟體
- Django
- Pylons
- Ruby on Rails
進階閱讀
Ramm, M (2006 年 11 月 7 日), "Rapid Web Applications with TurboGears," Prentice Hall. ISBN 0132433885。