Vor einiger Zeit habe ich mit Google Maps
eine einfache Karte erstellt mit welcher Webseiten, die bei
Geourl gelistet sind, angezeigt werden können. Heute habe ich nun, inspiriert durch einen
Artikel, eine weitere Karte die mit
JSON läuft zusammengebastelt.
JSON ist ein Subset von JavaScript welches für den Austausch von Daten definiert wurde, somit also quasi eine Art DTO erzeugt. Das Tolle dabei ist das ein übertragener JSON Text direkt mit "eval" in JavaScript als Objekt-Struktur
geladen werden kann und so kein zusätzliches Parsing benötigt und die übertragenen Daten relativ kompakt sind.
Der Nachteil ist das auf der Serverseite, in diesem konkreten Fall, einiges mehr erledigt werden muss. Bisher reichte es den Rss-Stream von
Geourl mit
"readfile" durchzuschleifen und die übergebenen Parameter aus Sicherheitsgründen kurz zu überprüfen.
Nun muss das RSS-File auf dem Server geparst werden (geschieht in meinem Fall mit der netten
Magpie RSS Bibliothek) und zu einer
JSON-Struktur umgebaut werden bevor es an den Client ausgeliefert werden kann. Dieser kann dann das ausgelieferte File, wie schon erwähnt, nur noch mit "eval" laden.
Der direkte Vergleich der
alten Lösung mit der
neuen JSON-Lösung zeigt das die neue Lösung schneller ist. Wieviel schneller lässt sich aber wegen der relativ ungenauen Messung leider nicht sagen. In der, bei beiden Lösungen, nun angegebenen "parse time" ist nur das Clientseitige Parsen, respektive Laden, und erzeugen der Markierungen angegeben.
Für andere Projekte können auch andere im
"Ajax serialization"-Artikel erwähnte Technologien interessant sein. Für klassische Webseiten ist AHAH vermutlich in vielen Fällen ausreichend.