現在私はwebアプリ開発をする際主にDjangoを使っているのですが、正直悩んでいました。
「本当にDjangoでいいのか・・?」
私自身もともとPythonをやっていたのとRubyやPHPが詳しくなかったことから、そのまま流れでDjangoを使い始めていました。
そんな消去法の選び方だったので選ぶフレームワークがこれでよかったのか不安になってきてる・・。
(これ書いてたらPythonでもDjangoとフラスクどっちがいいんだろ?って新たな悩みも出てきた・・)
そこでいったん言語・フレームワークの種類とそれぞれのメリットを調べ、Djangoが本当にいいのかまとめてみようと思います。
言語・フレームワークの種類
主によく使われている言語とフレームワークは以下のものになります。
RubyとRuby on Rails
PHPとLaravel
PythonとDjango
三大フレームワークとか言われてたりするみたいですね。
Python、Djangoはいいのか?
色々調べていると悲しい現実を目の当たりにしました。
一方『Django』は、最初のアプリ生成用のコマンドはあるものの、
アプリを作成した後は、ルーティングファイルのurls.pyは自分で作る必要があり、
models.pyやviews.pyなども1つファイルがあるだけで、フォルダ分けなどは自分で実施する必要があります。
たしかにDjango初めて焼てるとき思ったんですよ、urls.py自分で作るのめんどくさいなあって・・。
自分が調べきれてない部分もありますが、使いやすさ・入門しやすさでは確実にRubyとRuby on Rails,PHPとLaravelに軍配上がる気がします。
あとは日本語の記事が多いかどうか、ここも重要だと思います。
私がDjangoでECサイトを作っていた時はエラー出まくりで、エラーを調べても日本語の記事が全くでなかった時もかなりおおかったです(調べ方が悪いのかも・・?)
プログラミング言語のおすすめは?ここでは、2024年版の初心者におすすめプログラミング言語ランキングを紹介。プログラミン…
↑この辺の記事などにもありますが、「Pythonは学習しやすい!!参考資料が多い!!」との意見が多い。
もちろん参考資料のヒット件数も多いんですが、機械学習についてに記事もかなり多く、日本語におけるPythonでのwebアプリ開発記事が多くを占めているわけではありません。
そう考えると、web開発における参考資料の多さもRubyとRuby on Rails,PHPとLaravelに軍配上がると思います。
また、案件・求人数についてもですが、日本市場におけるweb開発案件ではPythonとDjangoによる開発はまだ主流ではない状態です。
そこを考えても、ポートフォリオ提出などのために使うフレームワークなどもDjangoよりはRubyとRuby on Rails,PHPとLaravelを選んだ方がいいのかなあと思います。
一応Djangoのほうがいいのでは?と言ってる記事にはこんなのがありました。
(この方はPython経験が多くそれも加味した結果Djangoが使いやすいとのことです・・)
This post is also available in: English-US (英語) 数年以上前、開発を始める…
まとめ
日本においてweb開発をする場合、入門レベルの方や簡単なweb開発だけをしたい方にとってはRubyとRuby on Rails,PHPとLaravelを選んだ方がいいのかなと思います。
一方Pythonがめちゃくちゃ得意だったり、機械学習や統計を扱うサイトを重点的に作りたい場合などにはDjangoを選ぶ価値は大いにある・・かと。)
私は機械学習やらデータ分析やらを使うサイトを作ってみたので今後もDjangoでの学習を進めていく予定です。
また、今回いろいろ調べて興味がわいたので、とりあえずRubyとPHPもちゃんとやってみます笑
(ポートフォリオ提出にも生かせそうだし損はないはず!)