どの Java Web アプリケーション フレームワークが非常に軽量で、リソースの消費が少なく、応答時間が最も短いかなど。
5 に答える
私はWicketで働いてきました.私はそれが個人的に重いと感じています. ウィケットとタペストリーのどちらかを選択する際に調査しました-どちらも同じようにロードされているようです(これは2009年にさかのぼります)。
最近、私はliftとplayframeworkを試しました。Lift は私には複雑すぎます (さらに、Scala フレームワークです)。遊ぶ!一方、非常に直感的に使用できます (play には Java と Scala の両方のフレーバーがあります)。私の知る限り、プレイしてください!アプリは、標準の Java AppServer に WAR ファイルとしてデプロイできないため、それについて調べてください。(実際には、v1.x では可能です。ここを参照してください) [脚注を参照]
私の個人的な経験によると、Play! リストしたフレームワークの中でおそらく最も軽量です。しかし、それが非常に単純なアプリケーションであり、リソースの最適化が心配な場合は、ベア サーブレットと JSP を使用することもできます。
フレームワークの非常に優れた比較を次に示します。Rails、Wicket、Grails、Play、Tapestry、Lift、JSP、Contextを参照してください (このリンクからコピー):
この:
脚注:
上記のプロットには
Play!2.x
統計が組み込まれていませんが、同等になると確信していますPlay!1.x
。Play!1.x
WARとして展開できます。こちらをご覧ください。Play!2.0
-- 現在のところ、WAR として展開することはできません。(これは本当に悪い考えです)。これに満足していない人はたくさんいます。バグ レポートによると、展開可能な WAR を作成する要件は、v2.1 リリースまで延期されます。こちらをご覧ください
jsr311の実装であるJerseyをお勧めします。アノテーションを使用すると、次のように Web リクエストを Java メソッドにマップできます。
@Path("/myResource")
@Produces("text/plain")
public class SomeResource {
@GET
public String doGetAsPlainText() {
...
}
@GET
@Produces("text/html")
public String doGetAsHtml() {
...
}
}
他の実装も存在します。単純な検索jsr311 implementationでそれらを見つけることができます。
Play Frameworkを見てみましょう。これは通常の Java アプリケーション スタイルではありませんが、確かに高速でスケーラブルで、迅速な開発を目指しています。
スタンドアロンの Web アプリケーションを使用することも、Tomcat などのコンテナーとして使用することもできます。
最も単純な Java Web アプリケーション フレームワークは次のServlet/JSP
とおりです。直接使用します。短所:あまりにもワイルドで、後ろで多くのことをしなければなりません。
他の単純な Web アプリケーション フレームワーク (これがあなたの選択肢に最適だと思います) はStruct Framework
、軽量で構成が少ない...
応答時間について : フレームワークが複雑になればなるほど、応答時間が長くなります。これは、複雑なフレームワークがより多くのレイヤーを持ち、処理時間が長くなるためです。しかし、私の意見では、それほど費用はかかりません!!!
どのフレームワークが軽量かを選択しないでください。どちらのフレームワークがよりコミュニティに対応しているか、より安定しているかを選択してください。個人的には、 Springフレームワークをお勧めします。軽量フレームワークでもあります。