見出し画像

【プログラミング初心者向け】Web開発にはPythonのフレームワーク『Django』がオススメ

1. 今回の解説内容

こんにちは、ぎーたかです。

Web開発を始めて半年間、Django一筋でポートフォリオを作成してきた経験を記事にしています。
Python・Django初学者の方や、プログラミング未経験の方向けに記事を書いていますので、気になった記事があれば見てくださるとうれしいです。

作成したポートフォリオについては、ポートフォリオ紹介の記事で公開してます。興味を持ってくださった方は、ぜひ読んでみてください!

今回の記事では、「Web開発のフレームワークは、何を選ぶべきか?」という初学者の永遠の問いに対して、私の考えを書いていこうと思います。
タイトルでネタバレしていますが、結論としてプログラミング初学者の方にとってはDjangoをおすすめだという内容になっています。

なぜ筆者がDjangoを勧めるのか、前提から積み上げて解説していきますので、「これからWeb開発を始めるが、どのフレームワークを選ぶべきかわからない」という方は、ぜひこの記事を読んでいただき、納得感を持ってDjangoでのWeb開発を始めるきっかけにしてくれればいいなと思います。

それではフレームワークについて、Djangoとよく比較されるLaravel、Ruby on Railsの特徴も併せて説明しながら、筆者がなぜ初学者にDjangoを勧めたいのか、説明していきます。

2. 三大Webフレームワークの比較

このWebフレームワークで、現在シェアの高いフレームワークは3つです。
フレームワークで使用される言語とともに整理して見ていきましょう。

■3大Webフレームワークの概要
・Django     (使用言語:Python)
・Laravel     (使用言語:PHP)
・Ruby on Rails(使用言語:Ruby)

これらのフレームワークは、それぞれが単独でWeb開発に必要な機能を備えています。

これら以外にも様々なフレームワークがある中、上記のような”フルスタック”な機能を備えていることから三大Webフレームワークと呼ばれるほど主流になっています。

これらのフレームワークの1番の違いは、使用言語の違いです。
LaravelとRuby on Railsは、それぞれPHPRubyを使うフレームワークですが、この2つの言語は古くからWeb開発に使用されてきた歴史のある言語です。DjangoはPythonを使うフレームワークで、ご存知かと思いますが近年の人工知能/AI開発によく用いられる言語です。

次にそれぞれのフレームワークの市場の大きさについてみていきましょう。

■市場実績の比較
まず、取り上げたWebフレームワークが、市場でどのくらい盛んに使われているのかを分析しました。
フレームワークのシェアの変化と、案件数の多さを基準に状況を押さえていきます。

・シェア変化(Stack Overflaw

画像1

これは、Stack Overflawというプログラミングの質問サイトの公開データで、サイト内で世界中から投稿された質問数の比率を表すチャートです。
この比率が直接シェアを表しているわけではないですが、開発人口の比率とは一定の相関はありそうだと思い、引っ張ってきました。

一見したシェアの変化について、Ruby on Railsは降下傾向djangoとLaravelは上昇傾向にある形になっています。

・案件数の多さ(レバテックフリーランス)

レバテック

これは、レバテックフリーランスという国内のフリーランス求人サイトにおいて、サイト内検索した際の案件数と単価の比較結果です。

一見した案件数の比率については、Django < Laravel < Ruby on Railsとなっています。

LaravelのPHPや、Ruby on RailsのRubyは古くからWeb開発で使われてきた背景があり、現状Pythonよりも国内のWeb開発では勢力が強く出ている結果になっています。
ただ今後は、シェア変化の傾きにしたがって、案件数にも変化は出てくると思いますので、いつかDjangoがRailsだけでなくLaravelにも追いつく日が来ると考えています。

単価はどのフレームワークも大きく差はなく、高単価な案件も多く存在しています。

■特徴の比較
表でざっくりまとめると、以下の通りです。

フレームワーク比較

それぞれのフレームワークの特筆できる強みには、以下が挙げられます。
・Django…AI/機械学習の豊富なライブラリ(※)を利用可能である
・Laravel…標準の機能が豊富である
・Ruby on Rails…コードの自動生成に最も優れ、記述量は少ない
(※ライブラリ:プログラミングのツールボックスのようなもの)

3. Djangoをおすすめしたい人の特徴

これまでの情報を踏まえ、Djangoはどんな人におすすめなのか、まとめていきます。それぞれのフレームワークには強みがあり、ニーズにマッチするフレームワークを使うことがおすすめです。

筆者の考えでは、Djangoの強みは、以下の方のニーズにマッチするのではないかと考えています。

■Djangoがおすすめの人
・プログラミング未経験からWeb開発をしたい方
・既にPythonの使用経験がある方
・人工知能/AIのライブラリを活かした開発をしたい方

まず、プログラミング未経験からWeb開発をしたい方初学者と同義ですね)におすすめな理由については、プログラミング言語そのものの将来性という目線で、現時点は人工知能/AI開発に用いられるPythonが最も将来性が高いと言えます。
そのため、Pythonのスキルアップも見込めるDjangoは、最も市場価値を高めるレバレッジが効く選択になるはずです。

また、既にPythonの使用経験がある方におすすめな理由については、当たり前ですが、Pythonの経験を大きく生かすことができる点で、おすすめと言えます。
Djangoでは書くコード量が結構多いのですが、Pythonは言語そのものの記述が簡単に書ける言語のため、たとえ使用経験がいかなるものでも生かせるはずです。

最後に、人工知能/AIのライブラリを活かした開発をしたい方については、Djangoの強みがまさにニーズに当てはまると言えます。身近な例で代表的なものを挙げると、リコメンド(おすすめ)機能開発にはまさにうってつけです。

実際にDjangoは、YouTubeInstagramリコメンド機能付きのSNS開発に使われています。

今や、リコメンド機能があるかないかで、利用者に受け入れてもらえるか否かを決める要素にもなり得るでしょう。
そのため、人工知能の活用を考える方にとっては、DjangoはWeb開発の成功確率を高めてくれるパートナーになるはずです。

4. 最後に

いかがでしたか?
今回の記事を読んで、djangoに挑戦しようと感じてくださった方がいれば嬉しいです。

もしDjangoを始めることを決意された場合は、ぜひ筆者のDjangoアプリの開発ノウハウをまとめたDjangoマガジンも読んでみてください!

書籍やnoteで解説されている方などもいろいろ出てきてはいますが、未だRailsに比べると日本語での丁寧な説明を見つけるのに苦労するかと思います。英語が得意な方はStack Overflawで検索してみると、ネットでも詳しい情報にありつけることも多いですので、ぜひこちらも試して見てください!

引き続き、Django開発ノウハウはマガジン内でアップしていきますので、お楽しみに。最後まで読んでいただき、ありがとうございました。

よろしければサポートをお願いします🙇‍♂️ いただいたサポートは、クリエイターの活動資金として使わせていただきます😌 活動を通してえた経験を、また記事として皆さんと共有します👍