2011-01-07 3 views
2

バックエンドでAJAX with Javaを使用してRIAを実装しようとしています。Javaを搭載したAJAXの現在のコアテクノロジー?

私はRPCスタイルのアプローチのためのDWRを見ていたが、プロジェクトが更新されていないが、2008年

以来、私はまた、DojoとGWTを見ていました。

豊富なクライアントサイドウィジェットとSpring WebFlow/MVCとのバックエンド統合を含む、Javaベースのバックエンドに最適なコアテクノロジーをお勧めしますか?

ありがとう

答えて

1

私はSpring 3.0をお勧めします。最新かつ軽量で簡単に設定可能で、依存関係注入、注釈付きクラスをサポートしており、素晴らしいフレームワークです。

これはRESTをサポートしているため、JSONをHTMLページに返すクラスを実装するのは簡単です。これにより、リッチインターネットアプリケーションを構築できるようにしながら、コンテンツ、ビヘイビア、およびプレゼンテーションをすべて分離しておくのに役立ちます。

あなたの質問の範囲外ですが、JSONをサーバーから前後に転送するのに使用したので、フロントエンドでJQueryを使用することをお勧めします。

私はDWRから遠ざかります。彼らは私の考えではDWRより良い選択であるDojoと合併しました。 DWRはうまくいったが、実際にはバギーで使いづらい。 Dojoははるかにクリーンでモジュラーでした。しかし、あなたが彗星(別名リバース・アヤックス)を使用していない限り、SpringとJQueryに固執するだけです。

Spring 3.0はGoogle App Engineでもサポートされています...サービスとしてのプラットフォームとして言及するだけの価値があります。

+0

hmm、あらかじめ作成されたクライアント側のウィジェットについては、jqueryプラグインを多用するだけですか? –

+0

@Bill - JQueryとそのプラグインを使用することをお勧めします.JavaエンジニアではないWebデザイナーに悪影響を与えるため、私は個人的にSpringビューテクノロジーから離れています。ほとんどの場合、JQueryのプラグインスタイルはCSSで制御できるので、ブランドのように見え、感じることができます。 – jmort253

1

私は、SmartClientやExtJS + RESTベースのバックエンド(Jerseyなどで構築されている)のようなRIAフレームワークを推奨します。私は、JQueryがこれらのフレームワークと組み合わされたときに非常に役立つことも発見しました。一緒に。これにより、REST APIの上にGUIを構築することができます.REST API自体は、プログラムによる統合のために再利用できます。

これらの質問は常に宗教的なものですが、FWIW私は個人的にGWTの大ファンではありません。その理由の1つは、サーバーサイドの人々がGUIターゲットのデータ構造を構築したくないからです(純粋なデータに固執して、GUIユーザーにGUI処理をさせてもらいたい)。だから私は実際にGWTの能力を理解していないが、明らかに多くの人がその面を歓迎しているので、やはり宗教的な選択だ。

0

Spring MVCバックエンドを使用する場合は、そこにあるAJAXフロントエンドを使用できます。

そして、あなたはRIAを開発しようとしている場合、私はどちらかScript.Aculo.Us(キラーGUIのエフェクトライブラリー)またはMooToolsPrototype(拡張子や試作品の再書き込みのいずれかである、それはまた、多くのGUIツールが含まれます)を示唆しています。

プロトタイプとMooToolsの両方が彼らのオブジェクト指向方法論(MooTools Class() docsPrototype Class.create() docs)での素晴らしいところはなく、DOM要素(How Prototype extends the DOMMooTools Element reference)への追加のメソッドとプロパティを与える拡張メカニズム。もちろん、このメカニズムはJQueryの人々がこれらのライブラリについて嫌うものです。しかし、素晴らしいことは、これらの拡張のために、ブラウザ固有のプログラミングに頼らざるを得ないことです。抽象化はそれを処理します。

0

私はJSA for RIAアプリケーションを選択しました。

  1. それはそれは、組み込みのJ2EEアプリケーションサーバー(GlassFishのは、JBoss)、
  2. に、それはいくつかの実装を持っているJ2EE 6標準
  3. です - あなたは1に問題がある場合は、別の
  4. に切り替えることができます
  5. 私は少なくとも4つの(richfaces、myfaces、icefaces、primefaces)独立した大きなコンポーネントライブラリを持っています。
0

春はうまくいくが、私の個人的な好みは単純さのためであり、春は少し重いプラットフォームです。だから私はJAX-RSコンテナ(Jerseyのような)にサービスを配備する方が好きです。 Guiceを一緒に配線し、データバインディングを変更または変更する場合は、JacksonをJSON処理用に使用してください。

その他の有用な部分は、データベースアクセス(他のWebサービスへの呼び出しを行う場合は、休止状態または他の完全なORMよりはるかに単純です)のjDBIです。

これらのすべては、他の多くの種類の用途に最適です。

関連する問題