TurboGears
作者 | Kevin Dangoor 他 |
---|---|
最新版 | 2.4.0a1 / 2018年11月5日[1] |
リポジトリ | |
プログラミング 言語 | Python |
対応OS | クロスプラットフォーム |
種別 | Webアプリケーションフレームワーク |
ライセンス | MIT License, LGPL |
公式サイト | www.turbogears.org |
TurboGears は、Python による Webアプリケーションフレームワークである。MochiKit、SQLObject、CherryPy、Kidなどの、基礎となるコンポーネントの上に構築されている。
概要
[編集]TurboGears は 2005 年、いまだにリリースされていないZesty Newsという製品の背後のフレームワークとして、Kevin Dangoor によって作られた。
2008 年 2 月現在、TurboGears はメーリングリストに 3000人以上を抱え、2006 年にPrentice Hallから書籍が出版され、多数のオープンソースおよびプロプライエタリの TurboGears アプリケーションが実際に配置されるなど、大規模で健全なコミュニティを持っている。2008 年の PyCon で TurboGears 2 のプレビューリリースが期待されている。
TurboGears は Struts や Ruby on Rails のようにmodel-view-controller アーキテクチャを元に設計されており、Pythonによる Web アプリケーションの開発をより簡単でメンテナンスが容易なよう設計されている。
TurboGears のコンポーネントには下記のものがある。
- SQLObject
- Model として利用 - データベースや多数の既存のデータベースサーバとのインターフェイスを作成可能なデータバックエンド
- Kid
- View として利用 - XHTML フロントエンドのテンプレートエンジンで、すべてのテンプレートが妥当な XHTML ないし XML ファイルで、テンプレートを検証や設計が簡単なシンプルなXHTML ファイルとして開くことができるように作れられている。また、Python のスニペットを XML 的な方法で埋め込むための機能も提供されている。
- CherryPy
- Controller として利用 - (TurboGearsでは)テンプレートに対してデータを返却するイベントハンドラを記述することでWebアプリケーションをプログラム可能にするミドルウェア。同じデータをJSONデータストリームとしてAjax的な方法で取得することもできる。
- MochiKit
- は TurboGears の付属的な部分で、JavaScript によるプログラミングをよりPythonicに(Pythonらしく)するための JavaScript ライブラリである。JSON データストリームを非同期的に取得するインターフェイスを提供するため、もっぱらAjax機能を実現するために使用されている。
テンプレートプラグイン
[編集]Kid 以外のテンプレート言語もプラグインシステムを介して使用することができる。現在、Cheetah、Django、Genshi、Jinja 向けのプラグインが存在する。複数のテンプレートエンジンを同じアプリケーション内で使うことも可能である。
TurboGears の特徴
[編集]2007 年 1 月、Kevin Dangoor がプロジェクトリーダーを引退し、現在 Alberto Valverde が彼の後継者としてプロジェクトを運営している。[2]
TurboGears 2.0 に向けて開発が始まっており、2.0 ではSQLObject を SQLAlchemy に置き換え、Kid を Genshi に置き換えることを目標としている。これらのコンポーネントはソフトウェアの他の部分と密結合しているため、特にデータベースのフロントエンド "Catwalk" に関して、既存のコードベースを多数書き直す必要がある。
2007 年 6月、TurboGears のコミュニティは、TurboGears API をPylonsで使用されているコンポーネントとプロトコル上に移植する実験を開始した。また、二つのフレームワークがやがて一つになるのではないかという予想もある。[3]
関連書籍
[編集]Ramm, M (Nov 7, 2006). Rapid Web Applications with TurboGears, Prentice Hall. ISBN 0132433885
参照
[編集]- ^ Project Status - TurboGears2 Website 3.0 documentation
- ^ “TurboGears has a new leader”. Kevin Dangoor (2007年1月3日). 2007年4月12日閲覧。
- ^ “Pylons Merge”. 2007年6月27日閲覧。