Python

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

Flask Django

こんにちは!

消費財メーカーでデジタルマーケター・データサイエンティストをやっているウマたん(@statistics1012)です!

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

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

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

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

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

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

Flaskとは

Flask

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

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

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

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

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

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

 

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

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

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

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

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

また、Flaskの公式ドキュメントは以下です。実装時は適宜参考にすると良いでしょう!

Djangoとは

Django

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

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

Flask古いのはDjango!

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

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

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

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

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

InstagramやPinterestなどに必要なユーザーログイン機能は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にも挑戦!

FlaskとDjangoの勉強は、PyQもしくはUdemyを使った勉強方法がおすすめ!

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

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

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

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

Udemy
【体験談】評判の良いUdemyを実際に20コース受けてみてレビュー!当サイト【スタビジ】の本記事では、世界最大のオンライン学習プラットフォームであるUdemyのメリット・デメリット・評判・口コミについてまとめていきます!実際にPython関連のコースを20個受講して分かった体験談をもとにお伝えしていきます。...

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

Udemy コース AIFlask

名物講師の井上さんのコースです。

さらに最終的にはXcodeでiOS化も行っていくという盛りだくさんのコース

ディープラーニングとFlaskでの開発を同時に学べるお得な内容になっていますよー!

 

\30日間返金無料/

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

Udemy コース Django EC2

同じく井上さんのコースです。

PythonにおけるWebアプリケーションフレームワークDjangoを使って簡単なWebアプリケーションを作り込んでいきます。

AmazonEC2にインスタンスを立てて実際に公開していくので実践レベルの知識を得ることができるんです!

ただちょっと古めの内容なので注意!

 

\30日間返金無料/

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

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

まとめ

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

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

ロボたん
ロボたん
なんとなくのイメージから具体的なイメージがつかめた!
ウマたん
ウマたん
とはいえ、まずは実際に自分の手で実装してみることが大事!そうすることでより深い理解ができるよ!
macとsurface
PythonのFlaskで簡単なWebアプリケーションを作ってみよう!当サイト【スタビジ】の本記事では、Pythonの軽量WebアプリケーションフレームワークであるFlaskを使って簡単なWebアプリケーションを作成していきたいと思います。Pythonを開発言語としても使えるようになると、幅が広がりますよー!...

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

FlaskとDjangoの違い
FlaskDjango
リリース

2010年

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

2005年

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

機能

必要最低限

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

デフォで機能満載

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

利用企業

少ない

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

多い

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

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

【独学入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【スタビジ】の本記事では、Pythonを効率よく独学で習得する勉強法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

 

Pythonを初学者が最短で習得する勉強法

Pythonを使うと様々なことができます。しかしどんなことをやりたいかという明確な目的がないと勉強は捗りません。

Pythonを習得するためのロードマップをまとめましたのでぜひチェックしてみてくださいね!