TurboGears

Python による Webアプリケーションフレームワーク

TurboGears は、Python による Webアプリケーションフレームワークである。MochiKitSQLObjectCherryPyKidなどの、基礎となるコンポーネントの上に構築されている。

TurboGears
作者 Kevin Dangoor
最新版
2.4.0a1 / 2018年11月5日 (5年前) (2018-11-05)[1]
リポジトリ ウィキデータを編集
プログラミング
言語
Python
対応OS クロスプラットフォーム
種別 Webアプリケーションフレームワーク
ライセンス MIT License, LGPL
公式サイト www.turbogears.org
テンプレートを表示

概要

編集

TurboGears は 2005 年、いまだにリリースされていないZesty Newsという製品の背後のフレームワークとして、Kevin Dangoor によって作られた。

2008 年 2 月現在、TurboGears はメーリングリストに 3000人以上を抱え、2006 年にPrentice Hallから書籍が出版され、多数のオープンソースおよびプロプライエタリの TurboGears アプリケーションが実際に配置されるなど、大規模で健全なコミュニティを持っている。2008 年の PyCon で TurboGears 2 のプレビューリリースが期待されている。

TurboGears は StrutsRuby 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 以外のテンプレート言語もプラグインシステムを介して使用することができる。現在、CheetahDjangoGenshiJinja 向けのプラグインが存在する。複数のテンプレートエンジンを同じアプリケーション内で使うことも可能である。

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

参照

編集
  1. ^ Project Status - TurboGears2 Website 3.0 documentation
  2. ^ TurboGears has a new leader”. Kevin Dangoor (2007年1月3日). 2007年4月12日閲覧。
  3. ^ Pylons Merge”. 2007年6月27日閲覧。

関連項目

編集

外部リンク

編集