Frage

Ich frage mich, ob einige von euch kennen die architektonischen Ansätze von dem Wave-Team genommen sind das GWT-Web-Client zu bauen? Da ich zur Optimierung der Leistung einer GWT-App für Handys entwickelt, ich versuche, ist es schwer, nicht seine rasche Credentials :)

zu bewundern
  • Is Welle nicht GWT-RPC mit regelmäßigem Updates vom Server zu bekommen? Firefox verfolgt einige JSON Kommunikation geht über den Draht aber nichts wie RPC Sachen.

  • Wie sie vorgehen, wenn zum Beispiel eine neue Wavelet gesendet wird. Gibt es ein Ansichtsobjekt für jede Welle DTO, oder sie verwenden ein anderes Muster?

  • Wie GUI nach einer Antwort mit aktualisiert wird, sagen wir, eine neue Welle kommt. Würde der gesamte Bereich mit Wavelets erneut gerendert werden oder die Verwendung einige intelligente Techniken, dass nur bestimmte Element, um sicherzustellen, berührt wird?

Danke

War es hilfreich?

Lösung

Dies ist wahrscheinlich eine Überfrachtung mit Informationen, aber da Google Wave ist Open Source Sie tatsächlich sehen können, wie sie die Dinge wieder auf hier .

Wenn Sie bei WaveView.java suchen, zum Beispiel, können Sie sehen, dass sie einen clientseitige Ereignis Bus verwenden wie Ray Ryan in dieses Gespräch bei Google IO 2009 scheine ich sehen, ein weiteres Video zu erinnern, wo sie über diese Aspekte von Google Wave gesprochen:

  • Sie nutzen ein Ereignis Systemereignisse abzufeuern, wenn etwas auf der Client-Seite geschieht. Das Ereignissystem verwaltet die Kommunikation mit dem Server, vorbei Ereignisinformationen bis zu dem Server, Ereignisse vom Server erhalten, und diese Ereignisse veröffentlichen, das zurückkommen. Die Veranstaltung Bus verwendet eine Art Puffer, so dass, wenn eine Reihe von Ereignissen in rascher Folge werden abgefeuert, sie sie alle in einer Charge senden. Wenn zum Beispiel eine neue Welle kommt, wäre ein Ereignis mit dem Welleninformationen abgefeuert erhalten, und alle Teile der Benutzeroberfläche, die sich aktiv für dieses Ereignis hören würde, so mitteilen, dass sie bestimmen können, ob sie brauchten sich entsprechend zu ändern.
  • Sie benutzen Nahtstellen (oder so, ich den Namen nicht mehr erinnern kann) zu machen, so dass GWT den Code brechen könnte in Module auf, und nur die Teile laden, die tatsächlich benötigen, verwendet werden. Da die Wellen ui JavaScript-Datei ursprünglich über 1MB war (minimierte und komprimiert), die ziemlich wichtig war.
  • Da nur bestimmte Wellen und Wellen zu einem Zeitpunkt sichtbar wären, sie einige komplexen Techniken tatsächlich verwendeten die gleichen DOM-Elemente wieder zu verwenden. So, wie Sie durch die Liste der Wellen nach unten scrollen, es nimmt tatsächlich das DOM-Element, die die Welle an der Spitze in Ihrem Posteingang, die Informationen innerhalb ändern und es auf die Unterseite des Scroll-Bereichs bewegen, einen leeren Raum in dem Teil verlassen der Scroll-Bereich, dass Sie nicht mehr zu sehen.

Außerdem bin ich ziemlich sicher, verwenden sie so etwas wie Comet mit JSONP kontinuierliche Kommunikation mit dem Server zu halten, so dass sie der Server ständig nach neuen Updates nicht Polling sind, sondern es gibt eine dynamisch generierte JavaScript-Datei, die geladen wird wird in schrittweise von dem Server, die Anweisungen zu Feuer enthält, was Ereignis des Server notwendig wird gefeuert entschieden hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top