リッチインターネットアプリケーションを開発するために学習するJava Webテクノロジーはどれですか?
質問
JSF(myfacesコンポーネント)を使用してWebアプリケーションを開発しました。しかし、レスポンシブUIの最近では、JSFはうまくいきません。私はAJAX、GWTなどについて多くのことを聞いています。そのため、エンタープライズ製品向けのWebアプリケーションを開発するために、どのWebテクノロジー/フレームワークを学ぶべきかについてあなたの意見が欲しかったです。 私が聞いているWebテクノロジーの一部は次のとおりです。
上記のいずれか、または上記の組み合わせは私に役立ちますか?
これらのWebテクノロジーを評価できるパラメーターの一部は次のとおりです。
- 学習の容易さ
- Webアプリケーションコードの保守性
- コミュニティサポート
- IDEサポート-EclipseまたはNetBeans
- 市販のコンポーネント(テキストボックス、テーブルグリッド、オプションメニューなど)が利用可能
- ライセンス-商用利用には費用がかかりますか?
- ユーザーエクスペリエンス-レスポンシブUI。遅くなるべきではない
同様の質問私の質問に部分的に答えます。ただし、さらに情報が必要です。
編集: 照合された回答: 回答に基づいて: AJAXは、基礎を学ぶために開始し、次にJQUERYを学ぶための最良の方法です。 ajax、jqueryを補完できるコンポーネントベースのフレームワーク?
編集2: StackOverFlow(Javaプラットフォーム)のようなWebアプリケーションを設計しなければならなかった場合、これは学習して採用するのに最適な選択肢ですか?
Wicket + Jquery、WiQuery
GWT
一部のXYZ面 technology(RichFaces / ICEFaces)+ AJAX。
彼らと協力して、上記のパラメータで評価できる人からのコメントに感謝します。
解決
AJAXは単なる(私の謙虚な意見では、無意味な)用語です。
私の意見では、jQueryはJavascriptを実行する 方法です。その使用を禁止する乗り越えられない再要求がない限り、自分でJavascriptを記述する必要がある場合はお勧めします(GWTを使用している場合は、Javascriptを使用していますが、書き込みではなく、 jQueryが必要です。
- 学習の容易さ:考え方を従来の手続き型のJSから変更する必要があります[jQueryは依然として手続き型ですが、宣言的な側面があります]。 Javascriptを記述したことがない場合は、アプローチしやすいかもしれません
- Webアプリケーションコードの保守性:非常に
- コミュニティサポート:かなり
- IDEサポート-EclipseまたはNetBeans:そうは思いません。見逃しません。 IDEを見逃すほどのJavascriptを書くのは嫌いです。
- 既製のコンポーネントの可用性(テキストボックス、テーブルグリッド、オプションメニューなど):jQuery UIには少しあり、そこには多くの資料があります
- ライセンス-商用利用には費用がかかりますか?:いいえ
あなたが言及した他の技術の:
- GWT:ターゲットイントラネットサイトなど、非常にデスクトップに似たWebサイトを作成する場合(一般的なコンテンツサイトではなくGmailを考えてください)、これは興味深いと思います。 GWTベースのウェブサイトを検索エンジンでクロール可能にし、洗練されていないブラウザで使用できるようにするためにかなりの努力をする必要があると思います(つまり、GWTは携帯電話などのJSレスブラウザには役に立たないでしょう)
- JavaFX。これは単なる仕掛けだと思います。 Javaアプレットにはあまり追加せず、Javaほど慣性はありません。
- Apache Wicket:これは調査対象リストにあります
- OpenLaszlo:ライセンスを支払わずにFlashを実行したい場合、非常に興味深い。
私の提案として。
最初にJSなしでWebサイトを開発することを学ぶことをお勧めします。次に、JS(jQueryを使用)、google" progressive Enhancement"を追加します。
これを行うことができたら、GWTのようなものを使用して学習し、正当化されている場合はそれを使用できます。
他のヒント
Apache Wicketを強くお勧めします。Ajax/ JQueryに傾倒しており、それらを補完するコンポーネントフレームワークを求めているという質問にコメント/編集したことがわかります。
IMOはコンポーネントベースのフレームワークの中で、サードパーティのJavaScriptライブラリとの最適な統合を提供します。私は個人的にGWT、Tapestry、JSFの候補を評価しましたが、Wicketを使うと本当に簡単になります:
- JavaScriptをHTMLに投稿>ヘッド
- Webページにajaxコールバックコード(またはカスタムjavascript)を挿入します
- サーバー側のステートフルコンポーネントでイベントを呼び出す
- Ajax(XHR)リクエストが発生する前後に任意のJavaScriptを実行する
このブログ投稿は YUIとWicketを統合する方法、同じ概念をJQueryに簡単に拡張できます。
とはいえ、Wicketの組み込みAjaxサポートにより、実際には、JavaScriptコードを1行も書かずにリッチなUIを作成できます。 Webページ、ポップアップダイアログなどの選択部分の動的な更新を考えます。
WiQuery と呼ばれるWicket-JQuery統合プロジェクトも知っていますが、まだ試していません。
私は最新のプロジェクトのためにGWT(GWT-extを使用)で作業しており、非常に楽しんでいます。それとは別に、jQueryは常にGodsendであり、より堅牢なフレームワークが利用できないときはいつでも使用します。
かなりの量のJavascript / AJAXを実行する必要がある場合、jQueryを学び、使用したいことは間違いありません。 1999年にそれが出てきたら、何年もの悲しみを救うことができたでしょう。
基礎知識に集中する傾向があるため、オブジェクト指向のjavascriptを含むjavascriptの強力な理解を得たい場合があります。
javascriptを熟知すれば、ライブラリを簡単に選択できます。
タグなど、役に立つ可能性のあるHTML5の機能のいくつかについて、ある程度の理解を得ることができます。
Flash ideが生成しているコードがわかるので、Actionscript 3を学習することもできます。 Eclipseを使用して、Antスクリプトを使用してactionscriptコードをコンパイルしました。
Silverlightの人気は高まっていますが、それにはVisualStudio Expressが必要ですが、Flashとの強力なライバルです。
残りの部分については、リストが網羅的ではないため、参照の受け渡しが便利な場合がありますが、これらの基礎となる言語と、すぐに選択できるフレームワークを十分に理解してください。
Webブラウザーで何らかのクライアント/サーバーエクスペリエンスを実現したい場合は、Google Eclipseプラグインと一緒にGWTを検討することをお勧めします。この種のテクノロジーを使用すると、達成できる最も応答性の高いWebアプリケーションを作成できます(私の観点から)。
それ以外の場合、従来のWebアプリを少し開発し、Ajax機能を追加する場合は、をご覧ください。 DWR (Direct Web Remoting)。この種のテクノロジーを使用すると、サーバー側のJavaオブジェクトをクライアント側に配線して、JavaScriptを介してその機能を使用できるようになります。これは、Ajax機能の記述や、おそらく既存のロジックの再利用にも役立ちます。
もちろん、jQueryは常に優れた代替手段です。
Seam、Spring、Richfaces、Ajax4jsf
私はあなたと同じ道を歩んでおり、どちらが私の巨大なインターネットサイト用のサーバーサイドとクライアントサイドの開発ツールセットなのかを見つけようとしています。 私が見た限りでは、いつものように、必要なWebアプリケーションの種類によって異なります。
使いやすい、宣言型、オブジェクト指向などに基づいて、さまざまなjavascriptフレームワークを使用している人々がいます。
考慮すべき点がいくつかあります。 1)クライアント側の技術 1a)「コア」クライアント側の技術:フレームワーク 1b)UIクライアント側の技術強化 2)サーバー側の技術
" core"の場合javascriptフレームワークでは、JQuery、MooTools(MITライセンス)、ExtJS Core(MITライセンス)(ExtJSではありません:これはExtJS Core + UIガジェットであり、後で商用ライセンスが必要です)、Yahoo UIなどを見つけることができます。このようなサイト: http://www.domassistant.com/slickspeed/
このテストは「なんとなく」"それらの「コア」のそれぞれの異なる側面を比較します。クライアントJavaScriptフレームワーク。
これらのフレームワークから何を得ますか?それらのほとんどは、「クロスブラウザ」になることができます。互換性があり、それぞれにいくつかの異なる方法と構文があります。
テストして、一番好きなものを探すだけです。
したがって、これを使用すると、「すべてのブラウザ」のコードを作成することができます。
今、「ウィジェット/コントロール/ UIガジェット」が必要な場合は、各「コア」フレームワークには独自のUI関連の拡張機能があります。
それらの一部でさえ、相互に対話できます。 ExtJSの実装(コアではなく、いくつかの優れたUI要素が付属しているもの)がjQueryに接続できることを読みました。
したがって、クライアント側では、「コア」を選択する必要があります。フレームワーク、およびUIが必要な場合は、それらに関連付けられたUIが必要です。
このフレームワークと互換性のあるIDEがいくつかあります。1つは、Aptana、Eclipse、Netbeans(最新バージョンはjavascriptと非常によく統合されます)またはMicrosoft側のExpression、Visual Studio Express、または「Pro」です。
jQueryが「現状のまま」含まれていたことも事実です。 MicrosoftおよびNokiaでサポートされています。そのため、jQueryの注目度が高まり、より多くのサポートが得られ、「公開」されるようになると、注目を集めて機能が強化されると予想されます。彼らはjQueryを購入せず、VSソリューションに含まれるオープンソースとしてこれに固執しました。 ASP.NET MVC、コンポーネントなどと非常に緊密に結合されます。
とにかく、先ほど言ったように、jQueryは唯一のものではなく、必ずしも最高ではありません。
サーバー側については、java、ASP.NET、その他の快適な知識に依存します。
これが役立つことを願っています。
GWTプログラムはJavaプログラミング言語で記述されており、このプログラミング言語は非常に強力で理解しやすいため、私の選択はGWTです。
jQueryとext-jsも優れていますが、JavaScriptプログラミング言語に問題がありました。このプログラミング言語は非常にエラーを起こしやすいです。
Apache WicketコーディングはGWTが好きですが、サーバー側の技術であり、重い技術です。
JavaFXプログラムにはプラグインが必要なので、私の選択ではありません。
JavaScriptに問題がない場合は、jQueryまたはext-jsをお勧めします。
おそらくツールの組み合わせを学習する必要がありますが、おそらくAJAXから始めて、いくつかのJSライブラリ(JQuery、prototype-scriptaculous、MooToolsなど)に進む必要があります。
これらはJSFフレームワークをうまく補完します。
JavaベースのRIAプラットフォームを評価する際には、 Eclipse Rich Ajax Platform を検討することもできます。
Vexi をご覧になることをお勧めします。これは、より柔軟なデスクトップのようなアプリケーションを提供しますアプレット+ Swing / AWTよりも。
(免責事項:私はVexiの開発者です)
アプリケーションはデスクトップに似ており、リッチで応答性が高く、「投影」されたユーザーインターフェイスです。インターネット経由で。すべてのアプリケーションロジックは、選択した言語で作成し、XmlRpcインターフェイスを介して公開するサーバー上に存在します。
Vexiの主な利点は、ボックスモデルであるため、レイアウトが非常に簡単であることです。 HTMLよりも理解しやすいです。
<box>
<box orient="vertical"> .-------------------.
<box fill="red" /> | red | |
<box fill="blue" /> |---------| green |
</box> | blue | |
<box fill="green" /> '-------------------'
</box>
スクリプティングはJavaScriptで行われ、拡張可能なウィジェットセットがあります。ウィジェットの使用も簡単です。
<button id="button1" text="My button" />
<textarea id="text1" shadowtext="Type in here!" />