TurboGears-概要

Webフレームワークとは何ですか?

Webアプリケーションフレームワークまたは単にWebフレームワークは、ライブラリとモジュールのコレクションを表します。これにより、Webアプリケーション開発者は、プロトコルやスレッド管理などの低レベルの詳細を気にすることなく、アプリケーションを作成できます。

TurboGearsとは何ですか?

TurboGearsは、Pythonで記述されたWebアプリケーションフレームワークです。2005年にKevinDangoorによって最初に作成された最新バージョンのTurboGears(ver 2.3.7)は、MarkRammとFlorentAideが率いる開発者グループによって管理されています。

TurboGearsは、Rails、Django、Strutsなどの最新のWebフレームワークと同様に、Model-View-Controllerパラダイムに従います。

Model View Controller

MVCは、Webアプリケーションを開発するためのソフトウェアデザインパターンです。Model View Controllerパターンは、3つの部分で構成されています-

  • Model −パターンの最低レベルは、データの維持を担当します。

  • View −これは、データのすべてまたは一部をユーザーに表示する責任があります。

  • Controller −モデルとビュー間の相互作用を制御するソフトウェアコード。

MVCは、アプリケーションロジックをユーザーインターフェイスレイヤーから分離し、関心の分離をサポートするため、人気があります。ここで、コントローラーはアプリケーションに対するすべての要求を受信し、モデルと連携してビューに必要なデータを準備します。次に、ビューはコントローラーによって準備されたデータを使用して、最終的な提示可能な応答を生成します。MVCの抽象化は、次のようにグラフィカルに表すことができます。

モデル

モデルは、アプリケーションのデータを管理する責任があります。ビューからの要求に応答し、コントローラーからの指示にも応答して自身を更新します。

景色

データを提示するというコントローラーの決定によってトリガーされる、特定の形式でのデータの提示。これらは、AJAXテクノロジーとの統合が非常に簡単なスクリプトベースのテンプレートシステムです。

コントローラー

コントローラは、ユーザー入力に応答し、データモデルオブジェクトに対して対話を実行する責任があります。コントローラは入力を受け取り、入力を検証してから、データモデルの状態を変更するビジネスオペレーションを実行します。

TurboGearsは、多数のライブラリとツールの上に構築されています。これらのツールは、TurboGearsの異なるバージョン間で変更されています。現在のバージョン(バージョン2.3.7)のコンポーネントを以下に示します。

SQLAlchemy

これは、Pythonコードのオブジェクト関係マッピング(ORM)を提供するオープンソースのSQLキットです。

源氏

このテンプレートエンジンは、TGアプリケーションのフロントエンドを構築するために使用されます。Webテンプレートシステムは、テンプレートを特定のデータソースと組み合わせて、動的なWebページをレンダリングします。

ToscaWidgets

これは、サーバー側のコントロールを使用してHTMLフォームを生成するためのウィジェットライブラリです。Toscaは、JavaScriptウィジェットおよびツールキットに接続するためのミドルウェアとしても機能します。

ギアボックス

プロジェクトとサーバーTurboGearsアプリケーションを管理するための一連のコマンドを提供します。TurboGearsアプリケーションは、WSGI準拠の任意のWebサーバーにデプロイできます。

Webサーバーゲートウェイインターフェイス(WSGI)は、PythonWebアプリケーション開発の標準として採用されています。WSGIは、WebサーバーとWebアプリケーション間のユニバーサルインターフェイスの仕様です。wsgirefパッケージは、WSGIのリファレンス実装です。これは、WSGIサポートをWeb TurboGearsWebフレームワークに追加するために使用されます。このパッケージのsimple_serverモジュールは、WSGIアプリケーションにサービスを提供する単純なHTTPサーバーを実装します。このチュートリアルで開発したアプリケーションをテストするために使用します。