PlaceManager
※以下は多分に想像も含まれるので注意。
モチベーション
生のGWTを使用したアプリでは、(サードパーティ製のライブラリを使わない限り)ただ一つのhtml上にすべてを描画することになる。 しかし、当然ながら「ページ」を切り替えながらユーザとの対話を行いたいアプリの作成は面倒になる。
例えばDeckLayoutPanelに複数のページウィジェットを重ねておき、見せたいものを指示するという方法がある(つまり紙芝居方式)。 ところが、この方式ではおそらく、
- すべてのページウィジェットを最初に生成しなくてはならない。
- ブラウザのバックボタン等に追従しない。
という問題がある。GWTPのPlaceManagerはこれを行うものであり、その機能としては
- Proxyを使うことにより、ページの生成はオンデマンドで行われる(おそらくプロキシオブジェクトだけが最初にすべて生成される)。
- ブラウザのバック・フォワードボタンをハンドリングして、適切なページを表示する。
というものと思われる。