Gibt es eine Möglichkeit zur Beschleunigung der Bevölkerung einer Seite mit GWT's UI-Elemente, die aus Daten aus dem Datenspeicher geladen generiert werden? Kann ich den unnötigen RPC-Aufruf vermeiden, wenn die Seite geladen wird?
Mehr Details über das Problem, das ich habe: Es gibt eine Seite, auf der ich eine Tabelle mit Namen und Schaltflächen für eine Liste von Entitäten generiere, die aus dem Datenspeicher geladen wurden. Es gibt einen EntryPoint für die Seite und in dessen onModuleLoad() mache ich so etwas wie dies:
final FlexTable table = new FlexTable();
rpcAsyncService.getAllCandidates(new AsyncCallback<List<Candidate>>() {
public void onSuccess(List<Candidate> candidates) {
int row = 0;
for (Candidate person : candidates) {
table.setText(row, 0, person.getName());
table.setWidget(row, 1, new ToggleButton("Yes"));
table.setWidget(row, 2, new ToggleButton("No"));
row++;
}
}
...
});
Das funktioniert, dauert aber mehr als 30 Sekunden, um die Seite mit den Schaltflächen für 300 Kandidaten zu laden. Das ist inakzeptabel.
Die App läuft auf Google App Engine und nutzt den Datenspeicher der App Engine.