濃縮還元オレンジニュース
Facebook,オープンソースのノンブロッキングなWebフレームワーク「Tornado」を公開
2009年10月26日
初出:WEB+DB PRESS Vol.53(2009年10月24日発売)
リリース情報, Facebook, Webフレームワーク, Tornado
オープンソース, アプリケーション, フレームワーク, インストール, Python, Tornado
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フレームワークに似ているのでコツをつかむのが早いかもしれません。
ドキュメントの日本語翻訳が有志によって公開されているので,気軽に始められることができるでしょう。
>濃縮還元オレンジニュース
- 質問のウラを読みとる
- イギリス首相がAlan Turing氏に公式謝罪
- UNIX系OSのサーバに対するイタズラ集
- Facebookのデザインチームの体制
- やる気に関する驚きの科学
- QuickSilverが実装しているAlcorの「Abbreviation Scoring」解説
- リアルタイムな更新通知プロトコル「PubSubHubbub」
- MySpace,MapReduceフレームワーク「MySpace Qizmt」をオープンソースで公開
- Facebook,オープンソースのノンブロッキングなWebフレームワーク「Tornado」を公開


