濃縮還元オレンジニュース

Facebook,オープンソースのノンブロッキングなWebフレームワーク「Tornado」を公開

この記事を読むのに必要な時間:およそ 0.5 分

2009年9月11日,SNSサービスを運営するFacebookは,Pythonで書かれたWebフレームワーク「Tornado」をオープンソースで公開しました。Tornadoは,Facebookによって買収されたフィードアグリゲーションサービスFriendFeedにて使われているWebフレームワークをベースに,依存関係を減らすようリファクタリングしたものです。

Tornadoの大きな特徴として,FriendFeedのようなリアルタイム性,大量接続の要件に応えるべく,ノンブロッキングI/O,epollを用いたアプリケーションを作成できます。ほかにもGoogle App Engine対応,サードパーティ認証,CSRF(Cross-Site Request Forgeries)対策など多くの機能を実現しています。

Tornadoを動作させるにはPython 2.5以上,PycURLおよびsimplejsonのようなJSONパーサライブラリが必要となります(なお,Mac OS X Snow LeopardにてPycURLのインストールに失敗する際は,export ARCHFLAGS="-arch x86_64"を実行して再度インストールを試みてください)⁠Tornadoには組み込みのHTTPサーバも用意されているため,すぐに始めることができます。

最もシンプルなアプリケーションは次のようになります(import文,HTTPサーバ部分を除く)⁠

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

WebブラウザにてルートのURLパスでアクセスすると,MainHandlerのgetメソッドが呼ばれ「Hello, world」を出力します。

Google App Engineを試したことがある人は,webappフレームワークに似ているのでコツをつかむのが早いかもしれません。

ドキュメントの日本語翻訳が有志によって公開されているので,気軽に始められることができるでしょう。

>

URLhttp://www.tornadoweb.org

著者プロフィール

角田直行(かくだなおゆき)

普段はお仕事でPHPやJavaを使ってWeb開発をしています。一部でセレブエンジニアとか言われてますが,全然セレブじゃありません。

コメント

コメントの記入