なぜweb2pyか

□未翻訳

□翻訳中

□翻訳完了(細田謙二)

■レビュー(Omi Chiba)

なぜweb2pyか

web2pyは数あるWebアプリケーションの中の1つですが、魅力的でユニークな特徴を持っています。web2pyは、元々、次のような主要な動機に従いながら、教育用ツールとして開発されました。

web2py is one of many web application frameworks, but it has compelling and unique features. web2py was originally developed as a teaching tool, with the following primary motivations:

  • サーバーサイドのWeb開発について、機能の妥協なしに、簡単に学ぶことができます。この理由から、web2pyはインストールと設定を必要とせず、依存性がなく(ただし、配布したソースコードはPython2.5とその標準ライブラリを必要とします)、大抵の機能はWebブラウザのインターフェースを介して利用することができます。

    • Easy for users to learn server-side web development without compromising functionality. For this reason, web2py requires no installation and no configuration, has no dependencies (except for the source code distribution, which requires Python 2.5 and its standard library modules), and exposes most of its functionality via a Web browser interface.

  • web2pyは当初から安定してます。なぜなら、トップダウンの設計に従っているからです。つまり、APIは実装される前に設計されました。新しい機能が追加されてきても、web2pyは後方互換性を破りませんでしたし、これから機能追加しても破ることはないでしょう。

    • web2py has been stable from day one because it follows a top-down design; i.e., its API was designed before it was implemented. Even as new functionality has been added, web2py has never broken backwards compatibility, and it will not break compatibility when additional functionality is added in the future.

  • web2pyは最も重要なセキュリティの問題に積極的に取り組んでいます。それらは多くのモダンなWebアプリケーションを悩ませるもので、後述するOWASPによって定められています。

    • web2py proactively addresses the most important security issues which plague many modern web applications, as determined by OWASP19 below.

  • web2pyは軽量です。コアライブラリは、データベース抽象化レイヤ、テンプレート言語、すべてのヘルパーを含んで、合計1.4MBです。すべてのソースコードは、サンプルアプリケーションや画像を含んで、合計10.4MBです。

    • web2py is lightweight. Its core libraries, including the Database Abstraction Layer, the template language, and all the helpers amount to 1.4MB. The entire source code including sample applications and images amounts to 10.4MB.

  • web2pyは必要なメモリ量が小さく、非常に高速に動作します。Timothy Farrellによって開発されたRocket WSGI Webサーバーを使用しています。これは、mod_proxyを利用したApacheよりも30%ほど高速です。我々のテストでは、平均的なPCで、データベースにアクセスしない平均的な動的ページにおいて約10ms抑えることが示されています。DALは極めて低いオーバーヘッドしかなく、通常は3%未満です。

    • web2py has a small footprint and is very fast. It uses the Rocket22 WSGI web server developed By Timothy Farrell. It is 30% faster than Apache with mod_proxy. Our tests also indicate that, on an average PC, it serves an average dynamic page without database access in about 10ms. The DAL has very low overhead, typically less than 3%.

WSGI(Web Server Gateway Interface)は、WebサーバーとPythonアプリケーション間を通信するためのPython標準として取り上げらています。

WSGI (Web Server Gateway Interface) is an emerging Python standard for communication between a web server and Python applications).

これは、メインとなるweb2pyのadminインターフェースのスクリーンショットです:

Here is a screenshot of the main web2py admin interface: