Web Frameworkの速度比較サイトからどれを使おうかなと選定

早さのイメージ

Web Frameworkのベンチマークサイトがあったので、レスポンスタイムの観点から調査。
フィルターでフルスタック & メジャーな言語のみでフィルターしてみた。
参考にしたのはこちらのサイトになります。

上位のものを調べてみると、自分は知らないものばかり。
いったいどんなものなんだろう、とざっくり調べたものになります。

Joobyとは

Joobyというものが上位を占めている。
Joobyってなんだろう、と調べるとJavaフレームワーク。
Javaって今の時代早くなったんですね。
なんだか昔はJVMで動くから遅いというイメージがあったんです。

Jooby公式サイト

DBのORM的なものを入れるとDjangoやRailsのような感じでフレームワークとして動く模様(参考サイト)。
これだったらRails / Django に慣れている人でも使いやすいかもしれない。
Javaというのでてっきり大仰なコードを書くことになるのかと思ったが、意外とそこまで難しくなさそう。

その他の上位ランカーたちについて

Gemini

Javaのframeworkらしい。
さっきのベンチマークを公開している会社が作ってるやつのようですね。
GithubのREADMEの説明がものすごく簡素......

https://github.com/TechEmpower/gemini

Zebra

このMediumの投稿を見る限り、後述のGiraffeというFrameworkの性能を改善した新規バージョンなのかな?
ちょっと探してみても公式サイトらしきものが見当たらず、見つけられたのが今回のベンチマークのリポジトリのみ。

中身を見てもあんまりそれらしき記述量じゃないので、Dockerのイメージを引っ張ってる部分に何かあるかとみてみたが、特になさそう。
なので、多分上記リポジトリの中身がZebra本体なのかもしれない。

Act

こちらもJavaフレームワーク。公式サイトがhttps未対応だし、色合いが原色すぎて嫌い(調査でもなんでもない)
http://actframework.org

Cutelyst

QtのWeb framework。 Qt自体がUIフレームワークだった気がしたのだけど。
C++で書くのにJavaに負けてるのか?
https://cutelyst.org

Giraffe

F#。前述の通り。
ASP.NET のラッパーフレームワークという位置づけだそうですね。

https://github.com/giraffe-fsharp/Giraffe

Wt

C++のフレームワーク。有料なのかな?
https://www.webtoolkit.eu/wt


あとがき

DjangoやRailsはだいぶ下位にランクしてるようにも見えるけど、上位を占めているC++やJavaに比べスクリプト言語である分一般的に言って書くのは楽に済むだろう ...... と言いたかったのだけど、Joobyを見る感じそこまで大変になるということもないように思えた。いままでスクリプト言語しか触らなかった人が移行するのはコンパイル環境づくりなどの敷居が高いかもしれないけど、その価値は十分あると思われる。

ただ、Javaは最近Oracleが有償化ライセンスにしたとかメインバージョンを6ヶ月で変えていくとかの話もあるのでちょっとその辺が要因となってちょっと二の足を踏む人は多い気がした。AdoptOpenJDK使っておけば構わないのかな。

コメント

このブログの人気の投稿

gnuplot: グラフの色を変更する

[Linux] rsyncで進捗を確認する

gnuplotで縦線を引きたい