スライドショー

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

Pythonにはさまざまフレームワークがありますが、PythonのWebフレームワークであるTornadoは他のWebフレームワークと比べても大きく異なる点があります。

「Tornadoについて詳しく知りたい」
「Tornadoの特徴を知りたい」
「Tornadoのインストール方法を知りたい」
「Tornadoの使い方について知りたい」

といった方に向けてこの記事では以下の内容を解説していきます。


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

Tornadoについて詳しく解説していますので、ぜひ参考にしてください!

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の基本をマスター
更新日 : 2019年8月7日
Chainerとは?概要から導入方法までをわかりやすく解説!
更新日 : 2020年5月8日

まとめ

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

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

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

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

侍テック編集部

侍テック編集部