スライドショー

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とは?概要から導入方法までをわかりやすく解説!
更新日 : 2019年8月8日

まとめ

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

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

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

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

侍テック編集部

侍テック編集部

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説