Eclipse で作成する場合、コード分割オプションはありません。そのため、 (で開始された)またはが呼び出されたときにダウンロードされるPresenterWidget
と想定しています。でこのコードを見てみましょう:PresenterWidget
DialogBox
HeaderPresenter
HeaderPresenter
HeaderPresenter
Button b = new Button("Click me", new ClickHandler() {
public void onClick(ClickEvent event) {
MyDialogBox myD=new MyDialogBox(); ///There a lot of Gui (button, grid, css...) on this dialogbox
myD.show();
}
});
だから、私の最初の質問は次のとおりです。
MyDialogBox
第 1 に、Web アプリケーションは、ユーザーがページにアクセスしたときにすべての GUI をダウンロードしますHeader
か?
2番目に、ユーザーがHeader
同じブラウザと同じセッションで2回目にページにアクセスすると、webappはすべてのGUIをダウンロードしますMyDialogBox
か? (同じセッション上にある場合、GUI が別の場所で Catch を取得したため、再度ダウンロードされることはないと思います)
さて、次のように、 Google http://www.gwtproject.org/doc/latest/DevGuideCodeSplitting.htmlで提案されているように、このコード分割を配置します。
Button b = new Button("Click me", new ClickHandler() {
public void onClick(ClickEvent event) {
GWT.runAsync(new RunAsyncCallback() {
public void onFailure(Throwable caught) {
Window.alert("Code download failed");
}
public void onSuccess() {
MyDialogBox myD=new MyDialogBox(); ///There a lot of Gui (button, grid, css...) on this dialogbox
myD.show();
}
});
}
});
ユーザーがページにアクセスするたびに Webapp がこのコードをダウンロードすることはないと思いHeader
ます。ただし、ユーザーがボタン「b」をクリックすると、コードがダウンロードされます。しかし、私の質問はそれです
最初にボタンをクリックするとダウンロードされますが、ユーザーが同じボタンを 2 回目または 3 回目でもクリックすると、アプリは 2 回目または 3 回目に同じものをダウンロードし続けますGUI
かDialogBox
? または、アプリは最初にダウンロードしたときに他GUI
のDialogBox
場所をキャッチし、ユーザーが2回目または3回目にクリックすると、同じものを再度ダウンロードするのではなく、キャッチを呼び戻しますか?
私は混乱しています、誰かが明確にすることができますか?
また、 big のコード分割を行う価値はありますDialogBox
か?