Pythonにはさまざまフレームワークがありますが、PythonのWebフレームワークであるTornadoは他のWebフレームワークと比べても大きく異なる点があります。
「Tornadoについて詳しく知りたい」
「Tornadoの特徴を知りたい」
「Tornadoのインストール方法を知りたい」
「Tornadoの使い方について知りたい」
といった方に向けてこの記事では以下の内容を解説していきます。
Tornadoとは
Tornadoの特徴
Tornadoのインストール
Tornadoの使い方
Tornadoについて詳しく解説していますので、ぜひ参考にしてください!
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
Tornadoとは
http://www.tornadoweb.org/en/stable/#
Tornadoとは、どのようなWebフレームワークなのでしょうか?
Tornadoの公式サイトによると、以下のように説明されています。
TornadoはFriendFeedで開発されたPythonのWebフレームワーク(非同期通信ライブラリ)です。
ノンブロッキングネットワークI / Oを使用することで、Tornadoは数万のオープン接続に拡張でき、ロングポーリング、WebSocket、および各ユーザーへの長時間の接続が必要なその他のアプリケーションに最適です。
次項ではそんなTornadoの特徴を具体的に説明していきます。
Tornadoの特徴
Tornadoは他のPythonのWebフレームワークとは大きく異なります。
TornadoはPythonで作られたWebフレームワークで、非同期通信を行うライブラリでもあります。
非同期通信とは、その名の通りネットワークで接続されているサーバーとアプリケーションが同期を取らずに通信を行う方式で、リクエストを送信してからレスポンスが来るまでの間に他の処理が実行できるというメリットがあります。
WSGIに基づいていないことも大きな特徴です。
WSGI(Web Server Gateway Interface)とはPythonでWebサーバーとWebアプリケーションを接続するためのインタフェースを定義することを言います。
また、基本的にプロセスごとに1つのスレッドで実行されます。
パフォーマンスが高いことも大きな特徴で、以下はPythonと他のサーバを比べたベンチマークとなります。
出典:wikipedia
Tornadoが圧倒的に高いことがわかりますね!
Tornadoのインストール
それでは実際にTornadoをインストールしてみましょう。
Tornadoのインストールはターミナルからpipコマンドを使用して行います。
$ pip install tornado
インストールされたか確認する場合はpip listコマンドを実行します。
$ pip list |grep tornado tornado 5.0.2
無事インストールされていますね!
Tornadoの使い方
Tornadoをインストールしたら、tornadoをインポートして使用します。
「Hello, world」を出力するためには、公式で紹介されている以下のプログラムに名前をつけて、保存及び実行します。(ここではsample.pyとします)
import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world") def make_app(): return tornado.web.Application([ (r"/", MainHandler), ]) if __name__ == "__main__": app = make_app() app.listen(8888) tornado.ioloop.IOLoop.current().start()
ファイルを作成したら保存して実行します。
python3 sample.py
この状態でブラウザ上で「http://localhost:8888/」にアクセスすれば、以下のようにHello, worldが出力されます。
Tornadoの詳しい使い方についてはUser’sガイドに詳細が記載されていますので参考にしてください。
http://www.tornadoweb.org/en/stable/guide.html
Pythonのフレームワーク
Pythonのその他のフレームサークについては、以下の記事で紹介しています!
まとめ
ここではPythonのWebフレームワークであるTornadoについて、以下の内容を解説しました。
- Tornadoとは
- Tornadoの特徴
- Tornadoのインストール
- Tornadoの使い方
TornadoはFlaskやChainerに比べてまだ認知度低いですが、パフォーマンスが高く、使い勝手も良いので興味のある方はぜひ試してみてください。