Help us understand the problem. What is going on with this article?

世はまさに Web アプリケーションフレームワーク戦国時代?

Web アプリケーションフレームワークを選ぶ基準って、人それぞれ、色々とあるとは思いますが、やっぱり流行も気になってしまうのが Web エンジニア心というものではないでしょうか?

それに、よく使われているということは、

  • 当然、フレームワークとしての成熟度は高いはずですし、
  • サードパーティのライブラリも充実していて、
  • 比較的、Web サイトや書籍などから得られる情報量も多い

と、考えられます。

初めて Web アプリを作成するという人はもちろん、

ある程度、知識のある方でも、軽い気持ちで新しいフレームワークを学んでみたいというのであれば、流行りに乗っておくのが無難かもしれません。

というわけで、ここでは、

  • Ruby
  • Python
  • PHP
  • JavaScript

で、実装されている「 人気の Web アプリケーションフレームワーク 」について、興味本位でまとめてみましたので、良かったら何かの参考にでもして頂ければ幸いです。

Ruby on Rails vs. Sinatra

Ruby の Web アプリケーションフレームワークと言えば、Ruby on Rails ですね。

GitHub のスター数は、現在、45k となっています。

https://github.com/rails/rails

異論は認めますが、比較するとしたら、Sinatra くらいしかないでしょうか?

GitHub のスター数は、現在、10.9k となっています。

https://github.com/sinatra/sinatra

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 となっています。

https://github.com/tornadoweb/tornado

Laravel vs. Symfony vs. CodeIgniter

PHP では、Laravel が人気を博しているようですね。

GitHub のスター数は、現在、57.5k となっています。

https://github.com/laravel/laravel

何となくのイメージですが、昔から、Web アプリ作成のフレームワークと言えば PHP みたいなところもあるので、やはり定番なのでしょうか。

今回、Laravel と比較するのは、SymfonyCodeIgniter です。

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 となっています。

https://github.com/facebook/react

もちろん、GitHub のスター数が全てではありませんし、条件が同じとも言い難いですが、他の言語の Web フレームワークと、桁が違いますね。笑

しかし、スター数で言えば、実は、Vue.js の方が多く、現在、157k となっています。

https://github.com/vuejs/vue

また、AngularJS はと言うと、GitHub のスター数は、現在、59.6k となっていますが、それでも多いので、全く侮れません。

https://github.com/angular/angular.js

ただ、Google トレンド によると、Vue.js の人気も、上がってはいるのですが、他の二つに比べるとちょっと低すぎるように見えます。

一体、どういうことでしょうか?

ここへきて、この人気調査?の信憑性が危ぶまれる事態とも言えますが、これは「 一つの指標だけに囚われてはいけない 」ということの好例、ということにしておきましょう。

Ruby on Rails vs. Django vs. Laravel vs. React

まぁ、Google トレンド については、ものによって、キーワードの指定や検索の仕方で結果が大きく変わってしまう場合もあるので、自分でも試してみることをオススメします。

ちなみに、今回は、国やカテゴリなどは絞り込まず、同形異義語を排除するために、プログラミング言語名を一緒に検索してみました。

他にも、人気を判断するために、こんな指標があるよ!というような情報がありましたら、是非、教えて頂ければと思います。

話は逸れましたが、最後に、懲りもせず Google トレンド で、

  • Ruby on Rails
  • Django
  • Laravel
  • React

の、各言語で人気らしい Web フレームワークの比較もしてみましょうか。

結果は、こんな感じになりました。
スクリーンショット 2020-02-09 0.00.30.png
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 アプリケーションフレームワーク戦国時代 」に突入した!と、言えるのかもしれません。笑

特にどの言語に媚びることもない、こんな平和な?結論が、果たしてあり得るのかどうかはともかく、たとえこれが事実だったとしても、ここを分岐点として、これから、どのフレームワークが生き残っていくのか、頭一つ抜けるのか、見ものではありますよね。

しばらくしたら、また調べてみたいと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした