こんにちは!
データサイエンティスト兼AIエンジニアをやっているウマたん(@statistics1012)です!
ゴリゴリのWebエンジニアではありませんが、趣味でWebアプリケーション開発なんかもたまにやります。
そしてWebアプリケーション開発する際に使うのがPython!
Pythonは出来ることの幅が非常に広く、データ解析言語のイメージが強いですが実はサーバーサイド言語としてWebアプリケーション開発にも長けているんです!
そしてPythonのWebアプリケーションフレームワークとして有名な「Flask(フラスク)」「Django(ジャンゴ)」
なんとなーくFlaskがライトなフレームワークでDjangoがヘビーなフレームワークだというイメージを持っているかもしれませんが、これらの違いはどこにあるのか徹底比較していきます!
目次
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というサービスを使ってデプロイするところまで取り上げているのでぜひチェックしてみてください!
Djangoとは
続いてDjango(ジャンゴ)!!
カッコいい名前のWebアプリケーションフレームワーク笑
Flaskよりも古いのはDjango!
Djangoは、Web開発のおける一通りの機能が整っておりDjangoだけで完結するのが魅力です。
ライトにWeb開発するならFlaskですが、大規模な開発をするなら間違いなくDjango。
Flaskも拡張機能を追加すること幅広い実装が可能ですが、Djangoはそのような機能がデフォルトで入っています。
有名な例では、Djangoではログイン機能がデフォルトで入っていますがFlaskでは拡張機能で実装します。
ちなみにInstagramやPinterestなどのユーザー投稿型サービスがDjangoを使っているんですよー。
InstagramやPinterestなどに必要なユーザーログイン機能はDjangoで簡単に実装できるというわけですね!
Djangoによる簡単な実装はいかにまとめています。
また、Djangoの学習に関しては以下に詳しくまとめています!
ちなみに僕が開発している「yomeru」というサービスもDjangoで作っています。
Djangoのドキュメントは以下です。
FlaskとDjangoの違い
さて、FlaskとDjangoそれぞれについて見てきましたが、ここで2つのWebフレームワークの違いをまとめておきましょう!
Flask | Django |
---|---|
リリース | |
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はエイプリルフールのジョークとして世にリリースしたそうな。
だけど反響が大きくてこれだけ有名になってしまったんだそう。
なんてバケモンなんだ。
機能の違い
Flaskは必要最低限の機能だけを揃えた軽量Webアプリケーションフレームワーク。
一方、DjangoはフルスペックのWebアプリケーションフレームワーク。
特にユーザーログイン&ユーザー管理機能がデフォルトで実装されているのはUGCサービスを設計する上で非常に有用ですね!
利用企業の違い
利用企業の違いは以下のサイトから確認することができますよー!
Flaskは800企業ほどの企業に利用されているようです。
有名どころとしては、ネットフリックに利用されています。
Djangoは2000企業ほどの企業に利用されています。
UGC型のインスタグラムやピンタレストなどに主に利用されています。
FlaskとDjangoを勉強する方法
さて、FlaskとDjangoについてまとめてきましたが個人でWebアプリケーション開発をするならまずはFlaskを勉強することをオススメします!
そしてある程度Webアプリケーションの開発に慣れてきたらDjangoにも挑戦!
独学で進める自信のある人
FlaskとDjangoの勉強を独学で進める自信のある人は、PyQもしくはUdemyを使った勉強方法がおすすめ!
PyQはPython学習のサービスでデータ解析からWebアプリケーション開発のFlask・Djangoまで幅広くおさえています。
PyQのレビューは以下の記事でまとめています!
Udemyは世界最大のオンライン学習プラットフォームでFlaskやDjangoの講座もいくつかあります。
Flask勉強におすすめするのはこちらの講座!
【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース
【オススメ度】 | |
---|---|
【講師】 | 僕自身!今なら購入時に「VGRBCQDF」という講師クーポンコードを入れると94%OFFになりますのでぜひご受講ください! |
【時間】 | 3.5時間 |
【レベル】 | 初級~中級 |
僕自身がPythonで出来ることをまとめつつ、最終的にFlaskでWebアプリケーションを作成する講座を作っています。
Pythonで出来ることのうち以下の5つを網羅して学んでいきます。
・データ集計・加工・描画
・機械学習を使ったモデル構築
・Webスクレイピング
・APIの利用
・Webアプリケーション開発
データ集計・加工・描画と機械学習モデル構築に関してはKaggleというデータ分析コンペティションのWalmartの小売データを扱いながら学んでいきます。
WebスクレイピングとAPI利用とWebアプリケーション開発に関しては、楽天の在庫情報を取得してSlackに自動で通知するWebアプリケーションを作成して学んでいきます。
Pythonで何ができるのか知りたい!という方には一番はじめにまず受けていただきたいコースです!
Twitterアカウント(@statistics1012)にメンションいただければ2000円以下になる講師クーポンを発行いたします!
Django勉強におすすめするのはこの講座!
【徹底的に解説!】Djangoの基礎をマスターして、3つのアプリを作ろう!
【オススメ度】 | |
---|---|
【講師】 | CODOR代表取締役CEO |
【時間】 | 19時間 |
【レベル】 | 初級~中級 |
基本的な部分から分かりやすく解説してくれるUdemyの中でもオススメの講座です。
To do アプリや社内SNSアプリを作っていきます。
また、VPSサーバーを借りて実際に作成したアプリケーションをデプロイしていく過程も学ぶことが出来るので非常に勉強になるコースです。
以下の記事でUdemyのPython講座を比較まとめていますのでチェックしてみてください!
独学で進める自信のない人
なかなか自分一人で進める自信のない人、モチベーションが続かない人はぜひ当メディアが運営する「スタビジアカデミー」という教育サービスを検討してみてください!
AIデータサイエンス特化スクール「スタアカ」
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ SQLとPythonを組みあわせて実データを使った様々なワークを行う マーケティングの実行プラン策定 マーケティングとデータ分析の掛け合わせで集客マネタイズ |
ここではAIやデータサイエンスにまつわる様々なコースを展開していて、Djangoを使ったアプリ開発のコースもございます!
このコースではDjangoで画像生成のアプリを構築していきます。OpenAIのDALL・EのAPIを使っていきますよー!
独学で学ぶライトなプランと現役データサイエンティストがメンターとして付きながら質問もし放題のプランがあるので挫折せず進めることができます!
ご受講お待ちしております!
世の中には他にもたくさんのスクールがあります!
Pythonを学べるスクールは以下の記事で比較していますのでチェックしてみてください
FlaskとDjangoの違い まとめ
FlaskとDjangoの違いについて見てきました。
どちらも非常に便利なWeb開発フレームワークでPythonで出来ることの幅を大きく広げています!
最後に2つのフレームワークの違いをあらためてまとめておきましょう!
Flask | Django |
---|---|
リリース | |
2010年 Djangoより遅れて2010年にリリースされました。必要最低限の機能を持ったフレームワークの設計思想で作られています | 2005年 元祖、PythonのWebアプリケーションフレームワーク2005年にリリースされました。 |
機能 | |
必要最低限 必要最低限の機能が備わっていて、簡易的に実装できます。カスタマイズ性は高め | デフォで機能満載 デフォルトでWeb開発に必要な機能が一通り入っています。カスタマイズ性は低め |
利用企業 | |
少ない 利用企業で比較するとやはりFlaskの方が少なめ。やはりFlaskは個人開発に向いています。 | 多い 大規模開発に向いているDjangoはやはり利用企業が多め。 |
以下の記事でFlaskとDjangoでのWebアプリ開発についてまとめていますので是非チェックしてみてください!
最近ではPythonのWebアプリのフレームワークで「Streamlit」や「Gradio」がデータサイエンスの分野でよく利用されているのでチェックしてみて下さい。
また、Pythonを最短で学べる方法を以下でまとめていますので、もしPythonの基礎から学びたければぜひチェックしてみてください!