GWT は並列開発には最適ですが、学習曲線に注意してください。
IMO GWT は、Js 開発者よりも OO 開発者が UI コードを作成するためのものです。
Java (他の多くの OO 言語と同様) では、クラスを多数の小さなファイルに分割できるため、多くの人が同時にプロジェクトに取り組むことができます。設計パターンは、複雑なプログラミング パターンを再利用可能なブロックに分解するのに役立ちます。GWT で最もよく使用されるパターンは、MVP (MVC の代替バージョン)、オブザーバー (eventBus を使用)、コマンド ( gwt -dispatchを使用) などです。さらに、モジュールを構成できるように、 Ginで依存性注入などを使用することもできます。簡単に、インターフェースに基づいて (実装されているかどうか)。
したがって、GWT は Java 開発者にとって素晴らしいものです。彼らは習得すべき (習得すべき) パターンを使用でき、(ほとんどの場合) ブラウザー固有の詳細や Javascript について心配する必要はありません。
JavaScript のバックグラウンドを持つ開発者の多くは、少なくとも最初のうちは、Java を JavaScript のようにコーディングする傾向があります。スタイルが異なり、適切に設計された Java コードを生成できるようになるまでには多くの時間がかかります。パターンと GWT 固有の設計が重要であり、常に十分に文書化されているとは限らない GWT については言うまでもありません。誰でも Java で書くことができますが、数百冊の本と数十億行のくだらないコードを見れば、優れたOO コードを作成するのはそれほど簡単ではないことがはっきりとわかります。
JSも同様です。Java 開発者を Js プロジェクトに配置し、コードがめちゃくちゃになるのを数時間以内に観察します。
Rod Johnson (Spring フレームワークの父) が著書の専門家である「1 対 1 の j2ee 設計と開発」で述べているように、テクノロジを選択するときは、自分のスキルに基づいて決定を下す必要があります。
したがって、上記のパターンまたは Java に関する知識が限られている Javascript、HTML、および CSS のキラー チームを持っている場合、Ember (まだ知らない場合) またはその他の Javascript MVC フレームワークについて学ぶように伝えます。また、並列開発を促進し、「保守可能な JavaScript」や「Javascript パターン」などの本を購入し、全員が最善を尽くすことを継続してもらいます。
チームが新しい技術に動機付けられ、GWT を試してみたい場合、少なくとも 1 か月間、そのうちの 1 つか 2 つを概念実証にかけます。彼らが GWT に満足している場合、私は最高の GWT コンサルタントを雇い、週に 1 回、適切なツールと適切なパターンを適切な場所で使用していることをチェックしてもらい、チームに GWT を採用させます。Java と上記のパターンの知識に応じて、全員が に慣れるために少なくとも3 ~ 6 か月の予算を立てます。
ここに私自身の経験があります。
私たちは、GWT のバックグラウンドを持たない 2 人の平凡なコンサルタントを 1 年間のプロジェクトのために雇いました。そのうちの 6 人は手続き型プログラミングのバックグラウンドを持ち、残りの半分はあまり派手ではない Java のバックグラウンドを持っていました。
コンサルタントは、有給の自己訓練の機会であるかのように振る舞いました。外部委託された人々とチームが下したほとんどの設計上の決定は、自分の過ちを犯してそれらから学ぶ機会がありませんでした. 現時点 (1 年後) では全員が改善されましたが、パターン、ツール、および設計の問題にまだ苦しんでいます。GWT のドキュメントとこのテーマに関する 2 冊の本を読むのに 1 か月かかりましたが、実際の開発に少なくとも 4 か月かかり、多くの場所で自分が間違っていたことに気づき始めました。私は GWT について毎日新しいことを学び、2 週間おきに下した新しい悪い設計上の決定を発見しています。