. .
CREATE OR DIE Special Downloads Shop webinale

Schauplatz

Artikel
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

April 2008

SWX: das native Datenformat für Flash

Teil 1

(Link zum Artikel: http://www.createordie.de/cod/artikel/1713)

Bei der Entwicklung von Webseiten oder Anwendungen mit dynamischen Daten in Flash wird viel Zeit darauf verwendet, Daten zuverlässig zwischen Client und Server auszutauschen. SWX ist ein natives Datenformat für Flash, das diesen Prozess vereinfachen soll.

Text: Nick Weschkalnies

Aral Balkan's SWX, soll den Datenaustausch zwischen Flashplayer und serverseitigen Anwendungen deutlich vereinfachen. Dieser erste Teil des Artikels erläutert, wie und wofür sich SWX einsetzen lässt. SWX ist ein natives Datenformat. "Nativ" kommt aus dem Lateinischen und bedeutet "angeboren"; es lässt sich auch mit "natürlich" oder "unverändert" übersetzen. Ein natives Datenformat ist das von einer Anwendung bevorzugte Format. Daten, die über ein natives Datenformat ausgetauscht werden, müssen für den Austausch nicht verändert werden. Um den Begriff "nativ" noch etwas näher zu beleuchten, lässt sich dazu folgendes Beispiel aus der Praxis heranziehen. Angenommen, Sie möchten in Flash mit Daten der folgenden XML-Struktur arbeiten.

  1. <adressbuch>
  2. <user>
  3. <vorname>Max</vorname>
  4. <nachname>Mustermann</nachname>
  5. <phone>089 78888888</phone>
  6. </user>
  7. <user>
  8. <vorname>Hans</vorname>
  9. <nachname>Mustermann</nachname>
  10. <phone>089 78888889</phone>
  11. </user>
  12. </adressbuch>

Vergleichen wir dazu einmal die Unterstützung von XML in ActionScript 2 und 3. In ActionScript 2 ist das Arbeiten mit XML-Daten nicht sehr intuitiv. Gerade bei komplexen XML-Strukturen verliert man schnell den Durchblick. In der Regel sollte man deswegen bei der Verwendung von ActionScript 2 und XML mehr Zeit für die Referenzierung der Daten einplanen. Der erste Schritt besteht meist darin, die XML-Struktur in ein Array oder eine Objektstruktur umzuwandeln, um dann im Anschluss mit den Daten weiterarbeiten zu können. Im Beispiel machen wir es uns leicht und greifen ausschließlich auf den ersten Vornamen zu:

  1. myXML = new XML();
  2. myXML.ignoreWhite = true;
  3. myXML.load("data.xml");
  4. myXML.onLoad = function() {
  5. var vorname:String = myXML.firstChild.childNodes[0].childNodes[0].firstChild;
  6. trace(vorname);
  7. }

Versuche, die Referenzierung beispielsweise über Ansätze wie XPath zu vereinfachen, sind nur eingeschränkt zufriedenstellend. ActionScript 3 unterstützt XML nativ – wenig aussägekräftige Referenzen wie myXML.firstChild.childNodes[0].childNodes[0].firstChild gehören damit der Vergangenheit an. In ActionScript 3 kann man beispielsweise folgende Anweisungen verwenden, um auf den ersten Vornamen zuzugreifen:

  1. var myLoader:URLLoader = new URLLoader();
  2. var myURL = new URLRequest("data.xml");
  3. myLoader.load(myURL);
  4. myLoader.addEventListener(Event.COMPLETE, onLoadComplete);
  5. function onLoadComplete(e:Event):void {
  6. var myXML:XML = new XML(e.target.data);
  7. myXML.ignoreComments = true;
  8. myXML.ignoreWhitespace = true;
  9. var vorname:String = myXML.user[0].vorname.text();
  10. trace(vorname) ;
  11. }

Die Referenzierung über myXML.user[0].vorname.text() ist eindeutiger als das ActionScript-2-Pendant und so leichter nachzuvollziehen – die native Unterstützung eines Datenformats ist für den Entwickler von deutlichem Vorteil. Doch zurück zum Thema SWX: Mithilfe von SWX können alle Daten nativ verwendet werden. Das gilt auch für ein Array, dass zum Beispiel via PHP erzeugt und an Flash übergeben wird. Das Array bleibt ein Array und lässt sich mit ActionScript direkt weiternutzen, ohne umständliche Umwandlungen.

 

Kommentare
Bisher keine Kommentare
Neuer Kommentar
  • Gute Kommentare werden belohnt.
  •   (optional)
  •   (Kommentar abonnieren/Gravatar - wird nicht veröffentlicht)
  •    Benachrichtige mich bei nachfolgenden Kommentaren per E-Mail
  • -+
Tags
Werbung
SWX, Flash, Adobe