Ajax
Hallo Leute,
das, was heute so unter AJAX verkauft wird, ist eigentlich alter Wein in neuen Schläuchen.
Grundsätzlich sind solche AJAX-Elemente in UI eine praktische Angelegenheit, allerdings gibt´s (wie immer) ein paar Wermutstropfen:
1. Barrierefreiheit
AJAX-pimped UI sind nicht barrierefrei. Wenn Euere Web-Applikation barrierefrei sein will, soll oder muß, dann ist eine "reine" AJAX-Lösung ohne "Fall-Back-Variante" nicht praktikabel.
2. Kompatibilität
AJAX-pimped UI sind nicht mit allen Browsern kompatibel. No-Javascript-Folks (freiwillig aus Sicherheitsüberlegungen oder gezwungen vom Admin ihres Vertrauens), Lynx-Freaks, manche Mäccies und andere Exoten (nicht böse gemeint - bezieht sich nur auf die Verbreitung!) können mit den Javascript-Orgien nichts anfangen. Ohne "Fall-Back-Lösung" ist das UI für diese nicht nutzbar.
3. Zugang für Suchmaschinen
AJAX-pimped UI sind für Suchmaschinen-Robots nicht nutzbar / browsable (hängt mit 1. und 2. zusammen). Also nix für Seiten, die von google, yahoo, mnogosearch & co indiziert werden sollen.
4. Usability
AJAX-pimped UI verhalten sich aus End-User-/Benutzersicht oftmals anders und "unerwartet" im Vergleich zu "herkömmlichen", gewohnten Web-Applikationen. Das ist aus Usability-Gesichtspunkten heraus durchaus problematisch.
5. Debugging / mögliche Fehlerquellen
Wenn AJAX-pimped Applikationen entwickelt werden, kann es recht aufwendig sein, diese zu debuggen (wurde oben schon erwähnt). Die Fehlerquellenzahl von Web-Applikationen wird wesentlich erhöht.
Was allerdings nicht heissen soll, daß ich ein AJAX-Gegner bin. Im Gegenteil setze ich AJAX-Elemente in meinen Web-Applikationen (meistens PHP-basiert) sehr gerne und oft - aber wohl dosiert - ein. Von allen verfügbaren "Frameworks" (der Begriff ist ziehmlich dehnbar und wird hier sehr gerne überbelastet) finde ich persönlich die Kombination aus der prototype-Library ( see
http://prototype.conio.net/ ) und den scriptaculous-Erweiterungen ( see
http://script.aculo.us/ ) sehr gut. Erstens sind beide Libs sauber programmiert, zweitens werden beide Libs ständig weiterentwickelt und drittens sind beide Libs Teil des gerne und viel genutzten RoR (und damit recht weit verbreitet).
Just my 2 cents
Edit: Habe gerade noch folgenden Link gefunden:
http://www.ajaxlessons.com/