51

Play フレームワークは次の簡単な概要を提供しますが、Groovy テンプレート エンジン (必要に応じて Spring MVC で取得できます) を除いて、Spring はすべて同じ機能とそれ以上を提供するようです...

  • バグを修正し、リロードを押してください! Java ファイルを編集して保存し、ブラウザを更新して、すぐに結果を確認してください! サーバーをコンパイル、デプロイ、または再起動する必要はありません。Spring はこれを行いますが、これは煩わしい場合があります。

  • ステートレス モデルPlay は、真の「何も共有しない」システムです。REST の準備ができており、複数のサーバーで同じアプリケーションの複数のインスタンスを実行することで簡単にスケーリングできます。典型的な Spring アプリケーションには、ステートレス アプリケーション層があります。あなたが望んでいない限り、純粋にRESTfulではありませんが、Springは「RESTの準備ができています」。

  • 効率的なテンプレート システム式言語として Groovy に基づくクリーンなテンプレート システム。テンプレートの継承、インクルード、およびタグを提供します。Spring は Java を使用しますが、Groovy もオプションです。

  • エラーを迅速に解決 エラーが発生すると、play はソースコードと問題を含む正確な行を表示します。テンプレでも。春もこれを行います。

  • クールな Web アプリケーションを作成するために必要なものはすべてHibernate、OpenID、Memcached との統合を提供します...そしてプラグイン システム。Spring はあらゆるものと統合します。

  • Pure Java Code with Java、任意の Java ライブラリを使用し、お好みの IDE で開発します。Eclipse または NetBeans とうまく統合します。Spring もピュア Java です。

  • 本当に速いスタートは速く、走るのも速い!主観ですが、春はかなり早いです。

では、Play Framework は Spring MVC と実際に何が異なるのでしょうか?
一言で言えば、Spring ができて Play フレームワークができないこと (およびその逆) は?

4

1 に答える 1

11

どちらの側の「純粋な Java」の主張も非常に面白いと思います。

もちろん、Java だけを使用するプロジェクトは非現実的です。それでも、「純粋な Java」ラベルにはいくつかの標準が必要であり、どちらのフレームワークも適格ではないと思います。

Play は実際に Java 言語のセマンティクスを変更します。明確に明記されていれば大丈夫です。バイトコード操作を行う場合は、正直に言ってください。通常、これは AOP 風のトリックによって行われます。インスタンス メソッドは追加の動作で装飾され、それらのマニフェスト動作 (コードに記述されているもの) は通常保持されます。これを受け入れるのはそれほど難しくありません。コードがフレームワークによってサブクラス化され、メソッドが追加の動作でオーバーライドされるふりをすることができます。

Play では、同じクラスの別の静的メソッドを呼び出す 1 つの静的メソッドが魔法のような効果を持つことがあり、その動作はメソッド呼び出しとはまったく異なります。Java プログラマーが静的メソッド呼び出しが何であるかを確信できなくなった場合、これは大きな問題です。

Spring - まあ、彼らの Java 部分はまだ純粋な Java で問題ありません。しかし、それはとても魔法のようで (Java の POV から)、重いフレームワークに大きく依存しており、Spring を「純粋な Java」と呼ぶことは、肉を見落とすとハンバーガーを「純粋な野菜」と呼ぶようなものです。肉は最高の部分です!

于 2010-08-26T18:20:37.407 に答える