Web アプリケーションフレームワークを選ぶ基準って、人それぞれ、色々とあるとは思いますが、やっぱり流行も気になってしまうのが Web エンジニア心というものではないでしょうか?
それに、よく使われているということは、
- 当然、フレームワークとしての成熟度は高いはずですし、
- サードパーティのライブラリも充実していて、
- 比較的、Web サイトや書籍などから得られる情報量も多い
と、考えられます。
初めて Web アプリを作成するという人はもちろん、
ある程度、知識のある方でも、軽い気持ちで新しいフレームワークを学んでみたいというのであれば、流行りに乗っておくのが無難かもしれません。
というわけで、ここでは、
- Ruby
- Python
- PHP
- JavaScript
で、実装されている「 人気の Web アプリケーションフレームワーク 」について、興味本位でまとめてみましたので、良かったら何かの参考にでもして頂ければ幸いです。
Ruby on Rails vs. Sinatra
Ruby の Web アプリケーションフレームワークと言えば、Ruby on Rails ですね。
GitHub のスター数は、現在、45k となっています。
異論は認めますが、比較するとしたら、Sinatra くらいしかないでしょうか?
GitHub のスター数は、現在、10.9k となっています。
Google トレンド のグラフを見ると、Ruby の Web フレームワーク自体、徐々に人気が下がってきているようでもありますが、あとで他の言語とも比較してみましょう。
Django vs. Flask vs. Tornado
Google トレンド によると、Python では、やっぱり Django が人気ですが、Flask の人気もかなり上がってきているように見えます。
単純に考えれば、Python 自体の人気が急上昇していることが要因でしょうか。
GitHub のスター数はと言うと、現在、Django が 47.1k で、Flask が 48.8k となっています。
https://github.com/django/django
https://github.com/pallets/flask
比較対象として、もう一つ、Tornado という Web フレームワークを挙げておきましょう。
こちらは、GitHub のスター数が、現在、18.8k となっています。
Laravel vs. Symfony vs. CodeIgniter
PHP では、Laravel が人気を博しているようですね。
GitHub のスター数は、現在、57.5k となっています。
何となくのイメージですが、昔から、Web アプリ作成のフレームワークと言えば PHP みたいなところもあるので、やはり定番なのでしょうか。
今回、Laravel と比較するのは、Symfony と CodeIgniter です。
GitHub のスター数は、現在、Symfony が 22.7k で、CodeIgniter が 17.9k となっています。
https://github.com/symfony/symfony
https://github.com/bcit-ci/CodeIgniter
Google トレンド によると、他のフレームワークの人気がなくなってきていると言うよりは、純粋に Laravel が強すぎる感じですかね。
Vue.js vs. React vs. AngularJS
JavaScript に関しては、そもそも他の言語と同列に扱っていいのか、ちょっと微妙なところもあるかもしれませんが、
ともかく、Google トレンド のグラフを見ると、React の勢いが凄いです。
GitHub のスター数は、現在、143k となっています。
もちろん、GitHub のスター数が全てではありませんし、条件が同じとも言い難いですが、他の言語の Web フレームワークと、桁が違いますね。笑
しかし、スター数で言えば、実は、Vue.js の方が多く、現在、157k となっています。
また、AngularJS はと言うと、GitHub のスター数は、現在、59.6k となっていますが、それでも多いので、全く侮れません。
ただ、Google トレンド によると、Vue.js の人気も、上がってはいるのですが、他の二つに比べるとちょっと低すぎるように見えます。
一体、どういうことでしょうか?
ここへきて、この人気調査?の信憑性が危ぶまれる事態とも言えますが、これは「 一つの指標だけに囚われてはいけない 」ということの好例、ということにしておきましょう。
Ruby on Rails vs. Django vs. Laravel vs. React
まぁ、Google トレンド については、ものによって、キーワードの指定や検索の仕方で結果が大きく変わってしまう場合もあるので、自分でも試してみることをオススメします。
ちなみに、今回は、国やカテゴリなどは絞り込まず、同形異義語を排除するために、プログラミング言語名を一緒に検索してみました。
他にも、人気を判断するために、こんな指標があるよ!というような情報がありましたら、是非、教えて頂ければと思います。
話は逸れましたが、最後に、懲りもせず Google トレンド で、
- Ruby on Rails
- Django
- Laravel
- React
の、各言語で人気らしい Web フレームワークの比較もしてみましょうか。
結果は、こんな感じになりました。
URL は、https://trends.google.co.jp/trends/explore?date=2016-01-01%202019-12-31&q=rails%20ruby,django%20python,laravel%20php,react%20javascript です。
このグラフによれば、Rails の人気が下がってきて、Django と Laravel は少しずつ上昇し、React は急上昇したことにより、
世はまさに「 Web アプリケーションフレームワーク戦国時代 」に突入した!と、言えるのかもしれません。笑
特にどの言語に媚びることもない、こんな平和な?結論が、果たしてあり得るのかどうかはともかく、たとえこれが事実だったとしても、ここを分岐点として、これから、どのフレームワークが生き残っていくのか、頭一つ抜けるのか、見ものではありますよね。
しばらくしたら、また調べてみたいと思います。