10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

日々、更新するためにこのような1日1歩進んでいくための記事を作成しようと思います。
実は、Djangoでブログサイトを作ったりしたことがあるので、その工程や追加で気が付いたことを順々に追っていこうかと思います。
初回は、案外、気になる Flask Django Web フレームワークはどう選べばいいの?です。
良い点・悪い点を明確にするため、PythonのWebフレームワークの1つ Flask と比べていきます。

比較してみた!!

2つの違いを簡単に分かりやすく表にまとめてみます!!
この後、一つ一つなぜそのような評価になっているのか詳細に見ていきます

        Flask    Django 
使用言語 Python Python
規模 小・中規模 大規模
クイックスタート ※1 少し遅め 速い
拡張性 高い 低い
速度 速い Flaskより重い
難易度 低い 高い

※1 純粋なソースコード量ではなく、主観の入ったwebサーバー起動までを示す?

使用言語

使用言語はお互いにPythonです。
こちらはインストールのしやすさ等は変わらないのでスキップします。

規模

Flask

後ほど拡張性で説明しまうが余計な機能をすべてそぎ落としてWebフレームワークとしての最小構成でできています。ですので、小規模から中規模を作るのに適しています。

逆にFlaskで大規模を作ろうとすると外部から多くの機能を追加する必要があるため、コストが高くつきやすく、後付けのためDjangoよりメリットである速度も遅くなりがちです。

Django

DBや認証といったWebフレームワークにあったらいいなの機能がたくさん搭載されています。そのため、後から追加せずとも元から入っているため、大規模で開発をする際にDjango以外のモジュールを追加で必要としないことが多いので大規模開発に向いているといえます。

逆に小・中規模を作ろうとすると余計な機能が盛りだくさんであるため、小規模なのに大規模並みの速度しかでないなどデメリットを講じてしまうため、向いていません。

クイックスタート

Flask

一からPythonのコードを書かないといけないので、手間はDjangoよりある感じ。
書くソースコードはさほどないので、速度だけでいうとそこまで差はない。

Django

プロジェクト作成 ⇒ アプリ作成 で起動はできるのでクイックスタートという点においては速くはある

拡張性

Flask

最小構成しか入っていないため、拡張性は高い。最適なものを自由に選ぶことができる点はメリットです。
別記事で紹介しているElelctron+Flaskの構成はこれを理由に組んでいます。

Django

元からWebアプリ開発に必要な機能が揃っているため、別で用意する必要がなく、拡張性とみるとなく見える。だが、書いた通り機能は揃っており、Djangoが用意したものであるため、親和性は高いです。

速度

Flask

Webフレームワークを構築する上での最小構成しか入っていないため、速度は高いです。そのため、他のモジュールと組み合わせやすい。

Django

あったらいいなの機能が盛りだくさんのため、どうしてもFlaskに軍配があがります。
ですが、速度を求めない限り、そんなに気にはならないと思います。

難易度

Flask

余計な機能がない分、シンプルな分かりやすいです。
そのため、Djangoより学習コストが低いです。

Django

モデルの調整や設定ファイルと決めることが沢山あり、学習コストは高めです。
学ぶのに自信がない人はFlaskから始めるのもありです。

まとめ

Flask と Django を比較してみました。私自身はどちらもプログラムを組んだことがあり、やはり、それぞれ利点がある分、組むときの規模感で選んだらします。簡単なアプリケーションはFlask、サーバーに載せて運用するサイトはDjangoでなんて今は書いていたりします。
FlaskのViewをDjangoの書き方のようにすることとかやってたこともあるので、自分のおすすめはDjango→Flaskだったりします。
挫折しない自分に合った学び方を選んでください。

10
3
0

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
10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?