LoginSignup
4

More than 5 years have passed since last update.

webサーバをどうしよう(Flask/Django)

Last updated at Posted at 2019-01-19

FlaskとDjango

以前は、最短のキーワードを調べていた為、それぞれに深掘りせずに目標達成のために調べ物を進めてたが、進めるたびに出てくる単語がDjangoだった。
※主にサーバ周りの調べ物をしたときだが

今後の運用などを考えたときに、途中で変更するぐらいなら、最初から検討材料を持っておき進めたほうがよいと思った

Python系フレームワーク

過去の資料

Python系のFrameworkと言うところで調べるといろいろ出てくる
https://qiita.com/Morio/items/8db3c9b3ba7f2c71ef27
こちらは4つのFrameworkについてまとまっていたのでこちらをベースに検討

Flask(フラスコ)

<特徴>

  • 軽量フレームワークの中で人気がある
  • 小規模から中規模のシステムをカバーできる
  • いくつかファイルを作ることで簡単にサーバを構築できる

Django(ジャンゴ)

<特徴>

  • Python系のWebサーバで最も人気がある
  • 中規模以上のシステムをカバーできる
  • URLディスパッチャー、O/Rマッパー、テンプレートエンジンなど機能が充実
  • コマンドで必要なファイルを生成できる

bottle(ボトル)

<特徴>

  • Python系で最も軽量なフレームワーク
  • 公式ページを見てもわかる通り、特に特徴も書くほども無いほどシンプル(良い意味で)

Tornado(トルネード)

<特徴>

  • Facebookから生まれたオープンソースフレームワーク
  • リアルタイム通信のWebSocketも可能
  • 他のフレームワークの中で高速に動作する

まとめ

最初に書いた比較サイトもありましたが、それなりに調べていったところ、
https://hackernoon.com/django-too-big-flask-too-small-tornado-just-right-d5d002586bbc?gi=5cebe96248ec
というのを発見。そして、それを日本語訳しているサイトもあった
https://qiita.com/Nimimal/items/4aee5a5d20388d0b4f63

この中で説明されているTornadeの主な特徴

  • WebSocketに対応している
  • 非同期の実装が備わっている
  • Webアプリケーションフレームワークのパフォーマンスとして「django < flask < tornado」である

うーん、実に興味深い。
こちのサイトにも書いてある通り、今後は注目していこう。

(2019/1/26追記)

Responder(レスポンダー)

<特徴>

  • 2018年10月に公開されてから、本日まででGithubのStarが2600以上
  • 作者がpipenvも作ってる
  • WebSocketにも対応
  • TemplateEngineが最初から組み込まれているので、Importがシンプル
  • Background Taskもあり、呼び出して裏で処理を実行する!!ってこともできちゃう

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4