
Ein ewiges Thema im WebsiteBaker-Forum ist der Einsatz von AJAX und ähnlichen Techniken. Mit WB2.7 haben einige Funktionen – etwa das Verschieben von Seiten per Drag&Drop – Eingang gefunden, aber Manche sehen hier noch viel Nachholbedarf.
WebsiteBaker und AJAX
von Chio (admin) am 21.07.2008
Was ist AJAX
Zb die Bewerten-Funktion in YouTube: Man klickt auf ein Sternchen und – ohne dass die Seite neu geladen wird! – wird sie aktualisiert: Die Bewertung wurde gezählt, das Sternchen ist nicht mehr anklickbar. Das laufende Video läuft ohne Mucks weiter.
Ohne AJAX würde der Klick das Neuladen der Seite auslösen – was unweigerlich zu einer Unterbrechung des gerade laufenden Videos führen würde – man müsste von vorne beginnen.
[Der Ordnung halber erwähnt: AJAX selbst ist eigentlich eine spezielle Methode, die in diesem Beispiel wahrscheinlich gar nicht zu Anwendung kommt. Aber weil der Name so griffig klingt, wird er wie "Tixo" oder "Walkman" für alle verwandten Techniken verwendet.]
Wie funktioniert das?
Im Hintergrund arbeitet Javascript. Die Browser-eigene Script-Sprache kann nachträglich eine bereits geladene Seite verändern und sogar von Server etwas "nachholen". Ein Script setzt also eine kleine Anfrage an den Server ab, wartet die Antwort ab und führt danach eine entsprechende Aktion aus (= verändert die Seite). Am anderen Ende – am Server – stellt PHP die nötige Intelligenz für die Antwort bereit.
Das alles passiert im Hintergrund, am starren HTML vorbei, ohne dass die Seite selbst neu geladen werden muss.
Warum ist AJAX jetzt so in Mode?
1) Weil die Browser, die mit AJAX nicht konnten, mittlerweile fast ausgestorben sind.
2) Weil es frei verfügbare, kompakte Javascript-Bibliotheken gibt, die relativ deppensicher fertige Gerüste bereitstellen.
3) Weil praktisch niemand mehr Javascript ausgeschaltet hat.
Super, das! – Aber wo ist der Haken?
Das erste Problem ist, dass es eben doch Browser/Leute gibt, bei denen es nicht sicher funktioniert – warum auch immer. Man muss also dafür Sorge tragen, dass zumindest kein gröberes Problem auftritt, wenn AJAX ausfällt. Im obigen Beispiel kann man ein YouTube-Video zwar problemlos ansehen, aber nicht bewerten. Verschmerzbar.
In anderen Fällen kann aber das salopp gesagte "Sorge tragen" zur Dreifach-Arbeit werden: eine Version mit AJAX, eine Version ohne AJAX und dazu noch viel Aufwand zum Umschalten zwischen beiden Versionen. Dabei stellt sich natürlich die Frage: ist es das wert?
Das zweite Problem: Wenn das Ganze etwas "mehr" können soll – und/oder ein modularer Aufbau vorliegt (wie eben in WebsiteBaker) – kommt es schnell mal zu Konflikten und damit zu Fehlfunktionen. Dann reichen die freien Bibliotheken nicht mehr, dann ist "Informatik" angesagt.
Einige weitere Problemchen verderben die Lust auf AJAX etwas, etwa die mangelnde Unterstützung durch Suchmaschinen, der "Zurück"-Schalter im Browser....
WebsiteBaker und AJAX
Backend:
Im Backend sind die Voraussetzungen für den Einsatz von AJAX günstig: Man kann erwarten, dass jemand, der im Backend arbeiten will, sich auch entsprechendes Werkzeug – sprich: einen zeitgemäßen Browser - zurechtlegt.
Der Haken ist: Wer soll sich die Arbeit antun, für Gottes Lohn die nötigen Funktionen in WB zu integrieren und dafür auch noch Support im Forum zu machen. Leider gibt es eine deutliche Kluft zwischen den Leuten, die lauthals nach mehr AJAX rufen, und denen, die es dann machen sollen. Zudem: Funktionen wie das Verschieben von Menüpunkten per Drag&Drop sind zwar nett, aber nicht wirklich lebenswichtig; die Zeitersparnis ist recht gering, weil man nicht dauernd Menüpunkte verschiebt.
Ähnliches gilt für die Module. Natürlich wäre es toll, wenn man etwa in "Members" die Listeneinträge locker verschieben könnte – aber die manuelle Sortierung ist eine von 4 Möglichkeiten, noch dazu selten genutzt. Und dafür soll ich mich stundenlang hinsetzen? Da muss mir schon sehr langweilig sein – und alles andere bereits gemacht sein.
Frontend:
Den "Klassiker" Poll (Umfrage/Bewertung) gibt es bereits, weitere Module werden folgen. Aber nehmen wir zb ein Gästebuch: Natürlich wäre das machbar – aber lohnt der Aufwand für einen Gästebucheintrag alle Schaltjahre? Shoutbox? – wäre denkbar, schon gleich mit Javascript-Ausgabe um die Spammer hintan zu halten.
Einige Bildergalerien verwenden bereits Ajax oder ähnliche Techniken. In diesen Fällen macht der Einsatz von Javascript natürlich viel Sinn, etwa weil bei Bildergalerien die Indexierbarkeit durch Suchmaschinen ohnehin oft nicht gewünscht ist - und Barrierefreiheit - naja...
Schlusskundgebung
Es wäre tatsächlich kein Fehler, in zukünftige Versionen zumindest einige Standard-Routinen gleich zu integrieren – sofern man sich auf einen "Standard" einigen kann. Daneben ist es den Entwicklern unbenommen, sinnvolle Anwendungen zu zeigen. Aber nur zu sagen "AJAX ist die Zukunft" ist etwas zu wenig.
Vorschläge/Anregungen:
22.07.2008
Lonesome Walker
Finde ich nett, dass Du die Gedankengänge aus meiner Privatnachricht an Dich hier veröffentlichst :-)
22.07.2008
Chio
Jou - hab ich noch ein bissel Probleme mit der Codierung hier...
Lieber LSW: Wenn du sowas für "Geistiges Eigentum" hältst, gehörst du zu den ärmeren Leuten. Du bist wahrlich nicht der einzige, der sich über AJAX Gedanken gemacht hat.
22.07.2008
Lonesome Walker
Mag sein, aber Du hast das ja öffentlich bisher nie zur Sprache gebracht.
Außerdem, wer sagt denn was von "Geistigen Eigentum"? Die Gedanken sind frei...
Aber Dein Umlaut-Problem ist wirklich nichts für "professionelle" Seiten ;-)
31.08.2008
Ein netter Beitrag Chio.
Ich bin immer wieder gerne auf Deiner Seite (wie auch auf beesign.at).
Auch wenn ich es oft zu vermeiden suche, Ajax auf meinen Kunden Seiten anzuwenden, ist es oft gewünscht und ich verwende es lieber als z.B. Flash.
Man muss mit der Zeit gehen und ich hoffe demnächst mehr frei verfügbare Module für WB zu finden, die sich der Ajax-Technologie bedienen.
MfG,
Stefek


