Pylons

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。EmausBot (会話 | 投稿記録) による 2011年4月8日 (金) 11:49個人設定で未設定ならUTC)時点の版 (r2.6.4) (ロボットによる 変更: en:Pylons (Web framework))であり、現在の版とは大きく異なる場合があります。

Pylons
開発元 Ben Bangert, James Gardner
最新版
1.0 / 2010年5月28日
プログラミング
言語
Python
対応OS クロスプラットフォーム
種別 Webアプリケーションフレームワーク
ライセンス BSD License
公式サイト www.pylonshq.com
テンプレートを表示

PylonsPython 言語で書かれた オープンソースwebアプリケーションフレームワークである。再利用性を促進し、機能を各モジュールに分割するためにWSGI 標準を広い範囲にわたり採用している。

Pylons は、DjangoTurboGears などを含む昨今の webアプリケーションフレームワークの中でも最も新しいもののひとつである。Ruby on Railsに強い影響を受けており、主要なコンポーネントのうちRoutesWebHelpers は、Rails の機能を Python で再実装したものである。

構造

Pylons は他社が開発したツールに基づくほぼ完成したスタックを持つことで知られており、明らかに NIH シンドロームを避けている。

インストール、依存ソフトウェア、設定

Pylons の公式なインストールの方法は、the Python CheeseShop 経由でEasyInstall を用いて行うことで、追加のツールもたいていは同じ方法でインストールされる。EasyInstall は必要に応じてパッケージの依存関係を解決する。Pylons と Paste を一緒にパッケージした配布系もあるが、配布系のパッケージは公式の配布物より遅れる傾向がある。Pylons は .egg ファイルを .zip ファイルに変更し、内容を展開することでもインストールできる。

Pasteプロジェクトの設定、テスト、配置に使用される。共通の INI構成フォーマットを用いており、Paste では開発と配置の設定を、インタラクティブなデバッガなどの Pylons の複雑な部分を製品版のユーザーから隠蔽した状態で開発者が同じコードベースをもとに動作させられるよう、複数の"プロファイル"を用いることができる。

URL のディスパッチ

Selectorなどの WSGI 互換の URL ディスパッチャであればどれでも使用可能だが、現在 Pylons 用に広く使われている唯一の URL ディスパッチャはRuby on Railsの URL ディスパッチ機構を Python で再実装したRoutes である。

HTML の生成

Pylonsでも採用されたRailsのもう一つの機構が、Routes の設定に基づき URL のマッピング機能を提供するWebHelpersである。WebHelpers は、script.aculo.usPrototype ライブラリを利用したJavaScriptコードを生成するためのユーティリティ的な機能も提供する。

HTML フォームの検証と生成のために、FormEncodeFormBuild が用いられている。Mako の継承モデルを用いてフォームの生成を行うために、Mako も一部で用いられている。

テンプレート

Myghty がバージョン 0.9.5 まで Pylons のデフォルトのテンプレート言語であったが、バージョン 0.9.6 で Mako に置き換えられた。[1]いずれのテンプレート言語もインクルード、継承、任意の Python コードの埋め込みをサポートするテキストベース(XMLベースのものではない)のテンプレート言語である。

Pylons の緩く結合されたレイヤ構造により、それ以外のテンプレート言語も利用可能である。XML ベースのテンプレート言語Genshi もMako や Myghty いずれかの代わりに使用することができる。[2]

データベースの抽象化 / O/Rマッピング

Pylons にはデフォルトのデータベースライブラリはない。SQLObjectSQLAlchemy が知られている。

外部リンク

Pylons の標準インストールで用いられるパッケージ、および人気の高い追加パッケージ

  • Myghty - URL のディスパッチ、コントローラ、キャッシュ機構、テンプレート機能など
  • Mako - Myghty 以外のテンプレートエンジン
  • Python Paste - プロジェクトの設定、テスト、配置
  • EasyInstall - インストールとパッケージの依存関係
  • Routes - Rails routes に基づく Routing の実装
  • FormEncode - フォームの検証と生成
  • WebHelpers - HTML ヘルパー機能

メーリングリスト

Google Groups からの情報によると(2008年1月10日):

  • メンバー 1211 人
  • 月平均 284 メッセージ(過去3ヶ月間)

脚注

  1. ^ Haas, Christoph Beginning Pylons. Retrieved July 5, 2007
  2. ^ Genshi Wiki Pylons with Genshi Retrieved July 5 2007

関連項目