あれもPython,これもPython

Pythonメモ※本サイトはアフィリエイトを利用しています

PythonのTornadoの感想

Webフレームワークというと、
PHP,Javaが種類も豊富で、
知名度でいうとRuby on Railsが有名です。

といいつつも、私はPythonが好きなので、
出来る限りPythonを使いたい!

代表選手

最近の代表選手はやはり

でしょうか。

他にもcherrypy,pyramid,web2pyなど、
かなりたくさんの種類が存在しています。

個人的な使い分け

先ほどあげた4つの中だと
FlaskとBottleはかなり類似している印象です。
個人的には1ファイルでできているBottleの方が
手軽な印象はあります。

DjangoPythonのwebフレームワークの中では
フルスタックで、MVC(pythonだとMTV)全てを一つで賄うことが可能です。

TornadoはDjangoほどのフルスタックさはないし、
かといってBottleほど手軽ではない印象で、敬遠していたのですが、
最近は一番好きになりました。

Tornadoのどこが良いか

Tornadoは、ルーティングもハンドラーも
一つのファイルにすることが可能です。
この辺り必要なファイルが膨れがちなDjangoよりも、
BottleやFlaskに近い感じです。

ただし、デフォルトでハンドラーを継承して書く作りになっているので、
意識しなくても結構きれいなコードになってくれます。

また、ログイン管理やテスト機能など、
Djangoレベルとまでは言いませんが、
かなり強力な標準機能を搭載しています。

この辺りの手軽さと綺麗さのバランスが実にPythonライクで自分の好みにfitしています。

ただやはりORM回りが弱いので、
そこは割りきってmongoDBに放り込んでいくのでもいいのかな、と思っています。
すごく大きいアプリケーションを作る気がないので、
特にデメリットとは思っていませんね。

あとはブロッキング等、特徴的な部分があるはずなんですが、
まだ実運用していないのであまり恩恵に預かれていません。。。