PythonのWebフレームワークTornadoをわかりやすく解説!

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】フレームワークFlaskの基本をマスター
更新日:2024年4月10日
Chainerとは?概要から導入方法までをわかりやすく解説!
更新日:2024年3月29日

まとめ

ここではPythonのWebフレームワークであるTornadoについて、以下の内容を解説しました。

  • Tornadoとは
  • Tornadoの特徴
  • Tornadoのインストール
  • Tornadoの使い方

TornadoはFlaskやChainerに比べてまだ認知度低いですが、パフォーマンスが高く、使い勝手も良いので興味のある方はぜひ試してみてください。

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次