私はGWTを使用してWebアプリケーションを作成しており、GWT WebサイトのMVPチュートリアルHistory
に従っています(つまり、ナビゲーションに使用しています)。
ナビゲーション用のサイドバーを使用する最善の方法について少し混乱しています(つまり、ナビゲーションリンクをクリックすると、メインウィンドウのコンテンツが変更されます。以下を参照してください)。
--------------------
| | |
| nav | main |
| | window |
| | |
| | |
--------------------
<div>
これを行うための1つの潜在的な方法は、ナビゲーションとコンテンツ用にHTMLで2つのタグを宣言することです。例えば:
@Override
public void onValueChange(ValueChangeEvent<String> event) {
...
if (token.equals("navigation")) {
presenter = new NavigationPresenter(rpcService, eventBus, new NavigationView());
presenter.go(RootPanel.get("navigation"));
}
...
if (token.equals("content")) {
presenter = new ContentPresenter(rpcService, eventBus, new ContentView());
presenter.go(RootPanel.get("content"));
}
...
}
これがこれにアプローチする最良の方法であるかどうかはわかりません。(ナビゲーションパネルとコンテンツウィンドウ間の双方向通信は、次の方法で実行できるとEventBus
思いますか?UIの変更に関しては、この方法は柔軟ですか(モバイルサイトなど))
私は人々がこれについて行くための最良の方法は何を提案するのだろうかと思っていました。私はよく読んで、アクティビティと場所についての議論にたどり着きますが、私が理解しているように、これらはMVPアーキテクチャとは多少異なります(アクティビティと場所はブラウザの履歴管理に役立ちますが、私の使用はそれをHistory
カバーしていると思います(?))
任意の提案をいただければ幸いです。