unoh.github.com

PythonでWebアプリ

Tue Mar 10 23:53:11 -0700 2009

おはようございます。うちだです。
最近Google App Engine(GAE)で何かを作りたくなってきました。何を作りたいわけでもなくGAEで何かを。
しかし、PythonでWebするのはド素人な為、まずは周辺技術を調査し列挙することにします。
完全なチラシの裏です。

PythonのWeb関連技術



Django
・学習コスト大
Django | The Web framework for perfectionists with deadlines
Django ドキュメント -- Django v1.0 documentation

TurboGears
・学習コスト大
・merbみたい
TurboGears: Front-to-Back Web Development

Pylons
・学習コスト大
・railsに影響を受けているらしい
・merbみたい
PylonsHQ - Home

web.py
・学習コスト小
(web.py)
web.py 0.2 チュートリアル (web.py)

WSGI
・アプリケーションとサーバーの間のインターフェース
・とりあえず学ぶべき
・Rackの元ネタ
http://wsgi.org/wsgi/
http://wiki.pylonshq.com/display/pylonsja/PEP333-ja

mod_python
・ウェブサーバーで動かすモジュール

mod_wsgi
・mod_pythonより良いよって書いてある
modwsgi - Google Code

参考にRubyのWeb関連技術



Ruby on Rails
・学習コスト大
・2.3のMetalは素敵
Ruby on Rails

Merb
・学習コスト大
・モジュール方式
・railsに統合
・DataMapperがすごい
Merb | Looking for a hacker's framework?

Rack
・とりあえず学ぶべき
・実装も読むべき
・開発者はコードアーティスト
Rack: a Ruby Webserver Interface
Greenbear Diary - 5分でわかるRack , シュレーディンガーの猫たち

Passenger(mod_rails,mod_rack)
・railsが動く
・rackが動く
・rackが動くということはほぼ全部動く
・Not only do we support Rack, we now also support Python WSGI!って書いてある
Overview -- Phusion Passenger™ (a.k.a. mod_rails / mod_rack)

感想



個人的には便利機能がそろってる重量級フレームワークよりも軽量なものが好き。GAEの場合標準CGIとして動かすようなので、かなり遅くなるだろうし。
まずはWSGIを実装を含めて学び、隙を見てWSGI+web.py(or オレオレフレームワーク)で開発しようかと思います。

おわり