Tornadoを使ってみる

Tornadoの特徴


こ ちらにO'Reillyの「Introduction to Tornado」の2012年度版が公開されています。
WebSocketやCookieなどの扱いが記載されています。
これを読破すればTornadoのことは(多分)全てわかります。
但し、TornadoのVersion2.1.1(Oct 4, 2011)をベースに書かれていますので、最新版とは少しパラメータの定義などが違うところが有り、
そのままでは動かないコードや、最新版では無くなったオブジェクトなどの記載が有ります。

こちら
に日本語の概要が公開されています。
但し、全て翻訳されているわけではなく、未翻訳の部分がかなりあります。



WEBページを動的に作るテンプレートエンジンの機能だけ使うのであれば、FlaskやBottleとあまり変わらないし、
情報量もFlaskなどの方が豊富ですが、非同期通信の機能はTornado独自の機能です。
FlaskやButtleでもrequestライブラリを組み込めばHTTPクライアントが使えますが、同期通信となります。

HTTPによるマルチタスク、マルチサーバーのシステムを作るときには強力なツールで、
HTTP非同期通信ライブラリ+HTMLレンダリングエンジンといった感じです。
大人の事情(??)でHTTPしか通さないネットワークで、マルチサーバーのシステムを作るときには
簡単にシステムが構築できます。

また、こちらで紹介しているCommand-line parsingの機能は非常に便利です。
環境に依存する内容は、全てこの機能で起動時に変更することができます。

こ ちらに「Djangoはデカすぎ、Flaskは小さすぎ、Tornadoがちょうどいい」という内容のページが公開されていて
Tornadoの特徴がよくまとまっていて、関連ドキュメントへのリンクが素敵です。
日本語の訳がこ ちらに公開されていて、「Tornadoの使い所についての考察」が素晴らしいです。
PythonのWEB Frameworkを検討している方は、まずはこちらを読むといい事あるかも...

TornadoにはCondition、Event、Semaphore、Lock、Queueの 機能まで実装されていて、ほとんどマルチタスクOSです。

Condition、Event、Semaphor、Lockはこちら、 Queueはこちらに ドキュメントが有ります。