= GWTP = == 参考 == * [[http://code.google.com/p/gwt-platform/]] * [[http://code.google.com/p/gwt-platform/wiki/FrequentlyAskedQuestions]] * [[GWT/GWTP/FAQ|上の訳(予定)]] == 概要 == GWTPはGWTに付加する形で利用するアプリケーションフレームワークである。特に「生のGWTではできないことができるようになる」というわけではなく、よりよいプログラミングスタイルをサポートするためのフレームワークということ。この種のフレームワークが必要な理由は、当然ながらGWT上で複雑で巨大なアプリを作成する目的のためである。 それゆえ、あらゆるテーマのものがいっしょくたに格納された形になっており、一度に理解するのは難しい。また、生のGWTによるコードとは見た目にも異なるものになるので、例えばEclipse上のGWTPプラグインの生成するサンプルコードは、GWTに精通した人でも理解は困難と思われる。 GWTP作成の発端となっているのは、2009年のGoogle IOのセッション[[http://www.google.com/intl/ja/events/io/2009/sessions/GoogleWebToolkitBestPractices.html|Google Web Toolkit Architecture: Best Practices For Architecting Your GWT App]]であるようだ。このセッションに影響に受けたフレームワークプロジェクトとして、[[http://code.google.com/p/gwt-presenter/|gwt-presenter]]や[[http://code.google.com/p/gwt-dispatch/|gwt-dispatch]]があるが、GWTPはそれらの成果を取り込みつつ、さらに機能追加をしていく方向のようである。 現在実現されている機能としては以下のようなものがある。 * MVPフレームワーク:昔ながらのMVCという三角形フレームワークではなく、それを修正したMVPというフレームワーク * コマンドパターンによるRPC:GWT純正のインターフェース方式によるRPC定義でなく、コマンドとその応答をオブジェクトにカプセル化し、それをサーバ側とやりとりする方式のRPC * EventBus:例えば、複数の画面が協調動作する際に、互いのメソッドを呼び出すのではなく、アプリ内でグローバルなイベントキューにその指示を行うイベントオブジェクトを投入するという方式。  * その他 == 各機能 == ここでは、Eclipse用GWTPプラグインの生成するコードをサンプルとして、GWTPの機能について調べる。 * [[GWT/GWTP/RCP|コマンドパターンによるRCP]] * [[GWT/GWTP/EventBus|イベントバス]] * [[GWT/GWTP/PlaceManager|PlaceManager]] * [[GWT/GWTP/EclipsePlugin|Eclipseプラグイン]] == ステップバイステップ == * [[GWT/GWTP/NewPresenter|新規プレゼンタの作成]] * [[GWT/GWTP/NestedPresenter|ネステッドプレゼンタの作成]] * [[GWT/GWTP/ConvertProject|生のGWTをGWTPにする]] == TIPS == * [[GWT/GWTP/TIPS|TIPS]]