2017年11月現在のScalaのWeb Framework

以前同じようなものを書いたけど、それがもう2年くらい経過してるので、また書きました

xuwei-k.hatenablog.com

xuwei-k.hatenablog.com

まず、このblog書いてる時点でのGitHubでのstar数での順位

あとは、このstar順に一言紹介というか個人的な感想や印象書いていきます。

挙げ忘れているものがあるかもしれませんが、もし見つけたらそのときはそういう(マイナーな or 新参の?)紹介する記事を誰か書いてください。

先に全体的な感想を書いておくと、多少順位変わったりはしているけれど、ここ1, 2年で新規に出てきて超有名になった、というのは無さそうだし、上位は変わっていないし、そこまで大きくは変わっていないなぁという感想になりました。

playframework/playframework

  • 2年前と比べて6831から9900で、相変わらず1位
  • 相変わらずデファクトスタンダード感ある
  • version上がるごとに微妙に変更あって移行が大変などの話も聞くし、自分も面倒だと思うこともあるが、それだけ文句出るのはそれだけ使われている証拠だし、マイグレーションガイドやドキュメントの量的にも圧倒的だし、今後もしばらくこういう感じで1位ではないだろうか

twitter/finalge

  • 3815から6088。これも順位変わらず。star数の割合的に、倍とはいかないまでも、かなり増えている
  • 2年前ととくに感想かわらないし、そこまで個人的に使ってないので省略

spray/spray

  • 予想通り公式的に非推奨になったので、akka-httpなどの他のものに移行しましょう
  • 未だに一応3位を保つくらいにstar数があったのはなんだったのか。一番速いというベンチマークが出回ったおかげか?

scalatra/scalatra

  • ここも順位変わらず。star数は1746から2230
  • 原作者と最近開発してる人が完全に入れ替わってる感がある。takezoeさんが主に頑張ってる。自分は未だコミッターですら無いのに、ここ2年くらいコミット数がなぜか2位
  • scalatra自身や、他の競合の状況次第ではあるだが、引き続きservletベースのフレームワークというジャンルでは有力な選択肢になりそう?

twitter/finatra

  • start数がから921から1645で、結構増えてるし順位も6位から5位に上がった
  • かるく確認したところ、ここ2年くらいのコミット数上位のほとんどがtwitterの中の人みたいなのですが、もうtwitterのプロダクトで結構広く使われていたりする感じなのでしょうか?(finatraの経緯は2年前のやつに書いたので読んでください)

finagle/finch

  • 2年前は10位以下くらいだった?気がするが、わりと順位を上げて、今回数えた中では6位
  • この調子で行けば、もっと順位上がっていくのではないだろうか。2年前順位結構下位だったのにわざわざ取り上げた自分の先見性すごいですね(自画自賛)
  • とはいえ個人的にあまり試してないので、これ以上詳細なこと書けないが頑張って欲しい

lift/framework

  • finchとstar数同一だった
  • 順位は落ちた
  • 相変わらず開発は続いてるっぽいが、以前同様そんなにコメントできることがないので略

tumblr/colossus

  • 前回取り上げるの忘れてた(コメントもらって気づいた)のですが、結構な上位ですね
  • とは言え詳しくないので、誰か・・・

http4s/http4s

  • 結構順位上がったかな?
  • star数、skinny-frameworkが抜かれてる
  • 開発は結構ずっと活発っぽい
  • ただ、コアなコミッターの一人がtwitterに就職してからfinagleやったりしてて、http4sへのコミットかなり減っていそう
  • とはいえ関数型な新しいモノ作る思想(?)に、賛同者多いのか、アクティブなコミッター何人かいるし、しばらく安泰っぽい?

jdegoes/blueeyes

  • star数の都合上取り上げたが、完全に開発止まってるので省略

unfiltered/unfiltered

  • star 601 から 691 で、それほど増えてない
  • 元のコミッターの人たちが全くコミットしなくなって、Scala 2.12移行のタイミングでコミッター増えて、2.12対応はやったが、そんなに開発活発じゃない
  • 自分もコミッターというかadmin権限持ってます
  • 仕事などでは使ってないので、優先度が下がり気味だが、死なない程度にメンテしていきたいし、以前も書いたが他と比べても面白い特徴があるとは思うので、よろしくお願いします

skinny-framework/skinny-framework

  • star数は463から653
  • finchやhttp4sに順位抜かれたし、瀬良さん以外のコミッターあまり増えて無さそうだし、sbt pluginの移行遅れ気味だったり、多少心配な感あるのですが、どうなるのだろう
  • とはいえfinchやhttp4sとは、servletか否か?や関数型の度合いなどで、思想というか目指す方向性が違うので、それらをライバルと捉えないのならば、それほど状況は変化してないとも捉えられる?

akka/akka-http

  • これは未だにweb frameworkなのか何なのか個人的に謎なんですが、直接使ってる人ってどのくらい増えているのでしょうか?
  • もっとstar多いかと思ったけど、そんなになかった。最初akkaと同じリポジトリで、途中から分離された影響?
  • playframework 2.6からakka-httpがデフォルトのバックエンドになった(それまでnettyだった)ので、lightbendが開発してるのもあるし、それらが変わらなければ安泰といえば安泰でしょうか?

おまけ ScalaPB

そういえば、finagleはhttp serverも書けるがrpcフレームワークでもある(?)し、そしたらScalaPBというScalagrpcできるやつもある意味含めて良いのでは(含めたらstar数510なので13位に入る)と、ふと思ったので、番外編というかおまけとして便乗宣伝しておきます。