含まれている電池
Javaのツール
それは素晴らしいです:
- IDE:一部のIDEがJavaScriptをサポートしていても、サポートのレベルは比較されません。大規模なコードベース(たとえば、40K + LOC)でJavaScriptコードをリファクタリングして、泣いてみてください。
- 単体テスト:これはここ数年で取り上げられましたが、Javaの世界ではより成熟しています。
- 継続的な統合と継続的な検査
- ドキュメントの生成: JSDocと他のいくつかのドキュメントがあることを確認してください
静的型付け
バグを早期に発見します。(Google Closureは、開発者をJavaScriptの世界に引き込みつつ、少しだけそれに応えます)。
最適化されたJavaScript
GWTは(大規模なアプリケーションの場合)あなたよりも高速でコンパクトなJavaScriptを記述し、同等の完全なJSソリューションよりも間違いなくクライアントに送信されるものを簡単に決定できます。
建築
まともなMVCまたはMVPアーキテクチャが既に簡単にプリベークされているため、大規模なアプリケーションの懸念を適切に分離できます。
まともな図書館
GWTは興味深いライブラリを提供し、動的バンドルローディングでI18N対応のアプリケーションを簡単に(まあ、より簡単に)作成します。
単体テスト
Eclipse IDE内およびコマンドラインからJUnitを使用します。これは私の最初のポイントに関連しています。また、GWTプロジェクトでJavaのコード品質ツールの一部を使用することもできます(バイトコードチェックではなく、ソースチェック用です)。
それはすべてあなたです!!
GWTは万人向けではありません。これにより、一部の人々の生産性が向上し、JavaScriptに(過度に)触れることなく、動的なフロントエンドを備えたプロフェッショナルなWebアプリを構築するための優れたツールが、JS以外の開発者に提供されます。しかし、それがうまくいかない場合は、何か他のものを使用してください。
上記のほとんどが必要で、Javaは必要ない場合は、Google ClosureまたはDojo Toolkitをご覧ください。
当時は良いアイデアでした:歴史の問題!!
JavaScriptの世界(およびWebフロントエンドテクノロジー全般)は最近非常に活発であるため、物事は見直されています。しかし、ほんの数年前、物事はそれほど明るくありませんでした。LESS / SASSはそれほど一般的ではなく、jQueryはまだ工場出荷時のJSライブラリではなく、JavaScriptライブラリは1週間おきに生成されておらず、ツールは一般的にそれほど優れていませんでした。
しかし、動的なフロントエンドを備えたプロフェッショナルで大規模なWebアプリケーションへの需要がすでに高まっているため、開発者の生産性を高めるために埋めるギャップがありました。JavaScriptには、注意する必要がある非常に多くの落とし穴と奇妙な点があり、それらを気にする必要さえない方が良いかもしれません。したがって、GWTのようなツールのニッチ。
それ以来、他のものが登場しました(CoffeeScriptが思い浮かび、Dartが進行中ですが、大規模なJavaScriptフレームワーク、Node.JSなどを使用したサーバーサイドJSの革命、そしてJavaScriptに対する強力なカムバックがすべて「十分」です-クライアント側だけでなく、ビジネススタックの他の部分でも使用される言語。
その他の注意事項
Firebugの使用に関する元の(現在編集中の)質問について
もちろん、Firebugを使用してGWTコードをデバッグできますが、理想的には、ライブコードデバッグサポートを提供するEclipse IDEのデバッガーから直接デバッグすることをお勧めします。
ただし、Firebugは引き続き使用できますが、GWTは最適化および圧縮されたJavaScriptを生成するため、そのままでは簡単にデバッグできない場合があることに留意する必要があります。
CSSに関するオリジナル(現在編集済み)の質問について
はい、もちろん、CSSコードを自分で記述する必要があります。ただし、GWTプロジェクトと他のツール(SASSなど)を、多少簡単に組み合わせることができます。
それは単なるツールです!
GWTをそうでないものと間違えないでください。Javaバイトコードとしてクライアント側で直接実行されるJavaコードを記述しないでください。Java言語でコードを記述し、それを効率化のためにJavaScriptに変換し、より高レベルの言語を使用できるようにします(または、少なくとも、それが本来の意味です)。
おそらく、JavaとJavaScriptは、抽象化レベルの点で同等と見なすことができます。ただし、Javaにはいくつかの利点(上記で詳細)が付属しているため、既存のツールの利点を再作成することなく享受できるという利点があります。Googleの開発者は、既存のJava指向のツールを再利用できるようにするだけでなく、実際にはJavaScriptアプリケーションを開発するという賢いアイデアを思いつきました。
さらに、JavaScriptとJavaコードが別々に処理される2言語Webアプリケーションの管理が面倒であることが多い、別の問題も解決します。GWTを使用すると、開発プロセスの両側で一定レベルの収束が可能になります。
参考文献: