web2py
開発元 | Massimo Di Pierro |
---|---|
最新版 |
1.65.5
/ 2009年7月15日 |
リポジトリ | |
プログラミング 言語 | Python |
対応OS | Cross-platform |
種別 | Webアプリケーションフレームワーク |
ライセンス | GPL 2.0 License (with exception) |
公式サイト |
http://www.web2py.com/ http://groups.google.com/group/web2py |
(英語版 web2py 21:47, 15 May 2009 UTC より翻訳)
Web2py はデータベースアプリケーションをアジャイルで開発するための、オープンソースのフレームワーク。Web2py はPythonで書かれており、Pythonでプログラム可能である。Web2pyはセキュリティーの確保に重点を置いている。例えばデフォルトで入力値の検証を行ったり、出力のエスケープを行う仕組みを提供している。これらの仕組みはSQLインジェクション、クロスサイトスクリプティング、安全でないオブジェクトの直接参照といったよくある脆弱性の問題を未然に防ぐ。またWeb2pyはModel View Controllerパターン、フォームの自己URLに対する送信、サーバー側でのセッションの維持、ファイルのアップロードの安全な取り扱いの仕組みなど、ソフトェア工学基づいた健全な開発手法を積極的に取り入れている。
Web2pyはサイト構築に必要となる主な部品がビルトーインで提供される、フルスタックなフレームワークである。例えば次のような部品が提供されている。
- クッキーのハンドラー、HTTPリクエスト、HTTPレスポンス
- 設定可能なRAMディスク、メモリキャッシュ
- 国際化
- 自動的なエラーと実行内容のログの取得
- 動的にSQL文を生成するデータベース抽象化レイヤー。このデータベースレイヤーはGoogle App Engineにも対応している
- 複数のデータベースへの対応(SQLite, MySQL, PostgreSQL, Oracle, MSSQL, FireBird, IBM DB2 and Google App Engine)
- 複数の認証機構への対応と役割に基づいたアクセス制御
- CRUD API
- rss, csv, xml, json, xmlrpc, jsonrpc, amfrpc (Flash)に対応したサービスAPI
Web2pyはDePaul Universityで教育用のツールとして開発されており、そのため学習曲線が非常に浅いという点で他のフレームワークとは異なっている。この理由から、簡単にサイトが立ち上げられるよう設計されており(インストール作業が不要)、開発、デバッグ、検証、メンテナンス、遠隔でのDB管理が外部のツールを必要とすることなく、ウェブベースで行えるようなインターフェースが用意されている。
Web2pyは最新のPythonのウェブサーバとウェブアプリケーションの間のプロトコルであるWSGIに従っている。またWeb2pyはCGIやFastCGIでも稼動可能。SSLが有効化されたCherryPy WSGIサーバーも備えているのでApache等の外部のウェブサーバーは不要である。Apacheと動かすことももちろん可能。
出版物
- Web programming with web2py, Python Magazine, June 2008
- web2py Manual, Massimo DiPierro, Wiley, 2008