Python

Flask vs Django!PythonのWebアプリケーションフレームワークを徹底比較!

Flask Django

こんにちは!

データサイエンティスト兼AIエンジニアをやっているウマたん(@statistics1012)です!

ゴリゴリのWebエンジニアではありませんが、趣味でWebアプリケーション開発なんかもたまにやります。

そしてWebアプリケーション開発する際に使うのがPython!

Pythonは出来ることの幅が非常に広く、データ解析言語のイメージが強いですが実はサーバーサイド言語としてWebアプリケーション開発にも長けているんです!

Pythonでできること
Pythonでできること7選!コード例をまじえて解説!当サイト【スタビジ】本記事では、Pythonでできることを7つまとめていきます!!Pythonで何ができるのか分からない状況から深い理解にもっていきますよー!実際にPythonでの実装例や勉強方法も取り上げているのでぜひご自分の環境で手を動かして実装してみてくださいね!...

そしてPythonのWebアプリケーションフレームワークとして有名な「Flask(フラスク)」「Django(ジャンゴ)」

ロボたん
ロボたん
いまいち違いが分からないフレームワークなんだよなー!
ウマたん
ウマたん
なんとなーくの理解をこの記事で深い理解にもっていくよ!

なんとなーくFlaskがライトなフレームワークでDjangoがヘビーなフレームワークだというイメージを持っているかもしれませんが、これらの違いはどこにあるのか徹底比較していきます!

Flaskとは

Flask

Flaskは2010年にリリースされたPythonのWebアプリケーションフレームワークで、軽量で実装できる機能が必要最低限に収まっていことが特徴です。

Webフレームワークの良いところは、全部0から自分で作り上げなくても簡易的に実装できるところ!

FlaskではJinja2というテンプレートエンジンを用いていて特殊な記法を用いることで簡易的にWebアプリケーションを開発することが可能。

以下の記事で詳しくまとめてあります!

Flaskを扱う上で注意しなくてはいけないのは、ディレクトリ構造!

ディレクトリ構造が以下のようにキッチリ決まっているので要注意!

top-tweets
├── app.py #Flaskの実行ファイル
└── templates
    └── index.html
└── static
    └── style.css

 

ちなみに簡易的なフレームワークとはいえ、様々な企業が実際に利用しています。

有名どころだと、あのネットフリックスもFlaskを用いてWebアプリケーションを開発しています。

比較的カンタンに実装できるので、当サイトでもいくつか記事を取り上げています。

Herokuというサービスを使ってデプロイするところまで取り上げているのでぜひチェックしてみてください!

macとsurface
Flaskでできることを確認しながら簡単なWebアプリの実例を作ってみよう!当サイト【スタビジ】の本記事では、Pythonの軽量WebアプリケーションフレームワークであるFlaskを使って簡単なWebアプリケーションを作成していきたいと思います。Pythonを開発言語としても使えるようになると、幅が広がりますよー!...
heroku
herokuを使ってPythonのflaskで作ったアプリケーションをデプロイする方法と注意点!当サイト【スタビジ】の本記事では、PythonのWebフレームワークであるFlaskを使って作成したWebアプリケーションをインターネット上に公開するためにHerokuというサービスを使ってデプロイしていきます。Herokuを使えば簡単にWebアプリケーションを公開することが可能なんです。...

Djangoとは

Django

続いてDjango(ジャンゴ)!!

カッコいい名前のWebアプリケーションフレームワーク笑

Flaskよりも古いのはDjango!

Djangoは、Web開発のおける一通りの機能が整っておりDjangoだけで完結するのが魅力です。

ライトにWeb開発するならFlaskですが、大規模な開発をするなら間違いなくDjango。

Flaskも拡張機能を追加すること幅広い実装が可能ですが、Djangoはそのような機能がデフォルトで入っています。

有名な例では、Djangoではログイン機能がデフォルトで入っていますがFlaskでは拡張機能で実装します。

ちなみにInstagramやPinterestなどのユーザー投稿型サービスがDjangoを使っているんですよー。

InstagramやPinterestなどに必要なユーザーログイン機能はDjangoで簡単に実装できるというわけですね!

Djangoによる簡単な実装はいかにまとめています。

Django heroku
PythonのDjangoを使ってWebアプリを実装しHerokuでデプロイしていくステップ こんにちは! データサイエンティストで最近はDjangoの開発に没頭中のウマたん(@statistics1012)です! ...

また、Djangoの学習に関しては以下に詳しくまとめています!

Django 学習
Djangoの学習におすすめのサイトと勉強を進める注意点 こんにちは! 消費財メーカーでデータサイエンティスト・デジタルマーケターをやっているウマたん(@statistics101...

ちなみに僕が開発している「Tracky」という記事分析AIもDjangoで作っています。

Djangoのドキュメントは以下です。

FlaskとDjangoの違い

さて、FlaskとDjangoそれぞれについて見てきましたが、ここで2つのWebフレームワークの違いをまとめておきましょう!

FlaskとDjangoの違い
FlaskDjango
リリース

2010年

Djangoより遅れて2010年にリリースされました。必要最低限の機能を持ったフレームワークの設計思想で作られています

2005年

元祖、PythonのWebアプリケーションフレームワーク2005年にリリースされました。

機能

必要最低限

必要最低限の機能が備わっていて、簡易的に実装できます。カスタマイズ性は高め

デフォで機能満載

デフォルトでWeb開発に必要な機能が一通り入っています。カスタマイズ性は低め

利用企業

少ない

利用企業で比較するとやはりFlaskの方が少なめ。やはりFlaskは個人開発に向いています。

多い

大規模開発に向いているDjangoはやはり利用企業が多め。

リリースの違い

リリースはDjangoの方が古くFlaskと5年の差があります。

Djangoは2005年リリース。Flaskは2010年リリース。

Djangoは元々ニュースサイト管理のためにアメリカで開発されたフレームワークで、名前はギタリストから取ったそうな。

カッコいい名前の由来はギタリストにあったんですね。

Flaskは2010年4月1日にリリースされたWebフレームワーク。

なんと開発者のArminはエイプリルフールのジョークとして世にリリースしたそうな。

だけど反響が大きくてこれだけ有名になってしまったんだそう。

なんてバケモンなんだ。

ロボたん
ロボたん
2つとも面白い逸話があるんだね笑
ウマたん
ウマたん
やっぱり世に影響の与えるモノが開発される時ってこんな感じなんだねー

機能の違い

Flaskは必要最低限の機能だけを揃えた軽量Webアプリケーションフレームワーク。

一方、DjangoはフルスペックのWebアプリケーションフレームワーク。

特にユーザーログイン&ユーザー管理機能がデフォルトで実装されているのはUGCサービスを設計する上で非常に有用ですね!

利用企業の違い

利用企業の違いは以下のサイトから確認することができますよー!

Flaskは800企業ほどの企業に利用されているようです。

有名どころとしては、ネットフリックに利用されています。

Flask利用企業

Djangoは2000企業ほどの企業に利用されています。

UGC型のインスタグラムやピンタレストなどに主に利用されています。

Django利用企業

FlaskとDjangoを勉強する方法

さて、FlaskとDjangoについてまとめてきましたが個人でWebアプリケーション開発をするならまずはFlaskを勉強することをオススメします!

そしてある程度Webアプリケーションの開発に慣れてきたらDjangoにも挑戦!

独学で進める自信のある人

Working late

FlaskとDjangoの勉強を独学で進める自信のある人は、PyQもしくはUdemyを使った勉強方法がおすすめ!

PyQはPython学習のサービスでデータ解析からWebアプリケーション開発のFlask・Djangoまで幅広くおさえています。

PyQのレビューは以下の記事でまとめています!

【体験談】PyQの評判は?3か月本気でPythonを勉強してみたので徹底レビュー!PyQはPythonを学ぶ上で非常にオススメで評判の高いサービスです。ただ、他のサービスとの違いが分かりにくいのも事実。そこで当サイト【スタビジ】では、実際にPyQを3か月体験した僕がPyQのメリット・デメリット・評判について徹底的にレビューしていきます!...

Udemyは世界最大のオンライン学習プラットフォームでFlaskやDjangoの講座もいくつかあります。

Udemy レビュー
【体験談】評判の良いUdemyを30コース以上受けている僕が徹底レビュー!当サイト【スタビジ】の本記事では、世界最大のオンライン学習プラットフォームであるUdemyのメリット・デメリット・評判・口コミについてまとめていきます!実際にプログラミングやデータサイエンス、Webマーケ関連のコースを30個以上受講している体験談をもとにお伝えしていきます。...

Flask勉強におすすめするのはこちらの講座!

【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース

Udemy python
【オススメ度】
【講師】僕!
【時間】3.5時間
【レベル】初級~中級

僕自身がPythonで出来ることをまとめつつ、最終的にFlaskでWebアプリケーションを作成する講座を作っています。

Pythonで出来ることのうち以下の5つを網羅して学んでいきます。

・データ集計・加工・描画
・機械学習を使ったモデル構築
・Webスクレイピング
・APIの利用
・Webアプリケーション開発

データ集計・加工・描画と機械学習モデル構築に関してはKaggleというデータ分析コンペティションのWalmartの小売データを扱いながら学んでいきます。

WebスクレイピングとAPI利用とWebアプリケーション開発に関しては、楽天の在庫情報を取得してSlackに自動で通知するWebアプリケーションを作成して学んでいきます。

Pythonで何ができるのか知りたい!という方には一番はじめにまず受けていただきたいコースです!

Twitterアカウント(@statistics1012)にメンションいただければ2000円以下になる講師クーポンを発行いたします!

\30日以内なら返金無料/このコースを見てみる

Django勉強におすすめするのはこの講座!

【徹底的に解説!】Djangoの基礎をマスターして、3つのアプリを作ろう!

Udemy Django
【オススメ度】
【講師】CODOR代表取締役CEO
【時間】19時間
【レベル】初級~中級

基本的な部分から分かりやすく解説してくれるUdemyの中でもオススメの講座です。

To do アプリや社内SNSアプリを作っていきます。

また、VPSサーバーを借りて実際に作成したアプリケーションをデプロイしていく過程も学ぶことが出来るので非常に勉強になるコースです。

\30日以内なら返金無料/このコースを見てみる

以下の記事でUdemyのPython講座を比較まとめていますのでチェックしてみてください!

Udemy Python
【20コース以上受講】UdemyのおすすめPythonコースを徹底レビュー!当サイト【スタビジ】の本記事では、世界最大の教育プラットフォーム「Udemy」のPython講座を20コース以上受講した僕がそれぞれのコースを徹底的にレビューしていきます!ぜひムダな時間を費やさず目的に沿った効率の良いPython学習を進めてくださいね!...

独学で進める自信のない人

なかなか自分一人で進める自信のない人、モチベーションが続かない人はプログラミングスクールに通ってみることをおすすめします!

Flaskの開発を学ぶならAidemyというプログラミングスクールがおすすめです!

Aidemy トップ

Aidemyとは、AIのソリューションを法人向けに提供していたりAIのプログラミングスクールを提供していたりする会社です。

AIアプリ開発コースでは男女の顔を識別するアプリケーションを作成していきます。

CNN(畳み込みニューラルネットワーク)を使って画像から男性なのか女性なのかを判断していきます。

Flaskを用いて実装していきます。

CNNを0から実装していくので非常に力が付くカリキュラムになっています。

Aidemyでは無料相談を実施しているのでぜひ事前に相談してみてください!

また、受講後も違うなと思った場合は2週間以内であれば全額返金可能できるんです!

無料相談の時に、自分の目指したい姿を明確にして伝えることでどのようなコースであれば実現できるのかすり合わせることが可能です。

かなりユーザーに寄り添った設計になっています。

Aidemyについては以下の記事で詳しく解説しています!

Aidemy
【体験談】評判の良い「Aidemy」を受講して分かったメリット・デメリット当サイト【スタビジ】の本記事では、AidemyのPremium planについて実際に自分で受講してみた体験談をもとに分かったこと・メリット・デメリットについてまとめていきます。僕の主観だけでなく口コミや評判に関してもまとめていくのでAidemyを検討している人はぜひ参考にしてみてくださいね!...

Pythonを学べるスクールは以下の記事で比較していますのでチェックしてみてください

Python おすすめ スクール
【2022年最新】Python学習に最適なオンラインスクールおすすめ6選当サイト【スタビジ】の本記事では、実際にスクールに通ったりWebサービスを利用したりしながらPythonを習得した僕がおすすめするオンラインメインのスクールを紹介していきます。正直Python学習スクールは乱立し過ぎていてどれを選べばよいのか難しい!そんな人にぜひ読んで欲しいです...

FlaskとDjangoの違い まとめ

FlaskとDjangoの違いについて見てきました。

どちらも非常に便利なWeb開発フレームワークでPythonで出来ることの幅を大きく広げています!

ロボたん
ロボたん
なんとなくのイメージから具体的なイメージがつかめた!
ウマたん
ウマたん
とはいえ、まずは実際に自分の手で実装してみることが大事!そうすることでより深い理解ができるよ!

最後に2つのフレームワークの違いをあらためてまとめておきましょう!

FlaskとDjangoの違い
FlaskDjango
リリース

2010年

Djangoより遅れて2010年にリリースされました。必要最低限の機能を持ったフレームワークの設計思想で作られています

2005年

元祖、PythonのWebアプリケーションフレームワーク2005年にリリースされました。

機能

必要最低限

必要最低限の機能が備わっていて、簡易的に実装できます。カスタマイズ性は高め

デフォで機能満載

デフォルトでWeb開発に必要な機能が一通り入っています。カスタマイズ性は低め

利用企業

少ない

利用企業で比較するとやはりFlaskの方が少なめ。やはりFlaskは個人開発に向いています。

多い

大規模開発に向いているDjangoはやはり利用企業が多め。

以下の記事でFlaskとDjangoでのWebアプリ開発についてまとめていますので是非チェックしてみてください!

Webアプリ開発
【入門初心者向け】PythonでWebアプリを作ってみた!開発方法徹底解説!当サイト【スタビジ】の本記事では、PythonのWebアプリケーションフレームワークを用いてWebアプリを開発していく方法を徹底解説していきます。実際にDjangoでの実装とFlaskでの実装をおこなっていったあと、勉強法についても見ていきましょう!...

また、Pythonを最短で学べる方法を以下でまとめていますので、もしPythonの基礎から学びたければぜひチェックしてみてください!

Python独学勉強法
【Python独学勉強法】初心者が3か月で習得できるロードマップ!当サイト【スタビジ】の本記事では、過去僕自身がPythonを独学を駆使しながら習得した経験をもとにPythonを効率よく勉強する方法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...
スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら