ratlos verwirrter web2.0 forscher: fragen zu ajax

hallo,

ich bin gerade dabei mich in AJAX einzuarbeiten.
bekannterweise is aber AJAX nix anderes als javascript, XML (welches auch durch servseitge scripte erzeugt werden kann -> php, asp) und etwas DOM manipulation.

soweit so gut. korrigiert mich bitte zu obigen falls notwendig.

wenn ich nun also AJAX verwenden will muss ich wohl oder über javascript lernen, welches ich bis dato nicht perfekt kann. ich bin nun auf das jquery-framework gestossen, welches mir sehr gut gefällt und in dass ich mich auch flott einarbeiten kann. es macht das DOM Manipulieren sehr sehr einfach und spassig und bietet auch funktionen für AJAX.

was haltet ihr von diesem framework?

weiters bin ich auf XSLT gestossen, mit welchem auch XML dokumente (client- und serverseitig) in XHTLM umgewandelt werden können, und somit inhalt praktisch vom design getrennt werden kann.

das hat mich nun etwas verwirrt und zu folgender frage geführt:

  • was is nun der unterschied zwischen AJAX und XSLT, wann verwendet man besser dieses als jene?
  • is es möglich beides kombiniert zu verwenden und macht das überhaupt sinn, da ja mit AJAX allein auch alles gemacht werden kann was XSLT bietet (aktiviertes javascript vorausgesetzt)? oder irre ich mich?

für antworten bin ich sehr dankbar
peter

  1. Moin!

    bekannterweise is aber AJAX nix anderes als javascript, XML (welches auch durch servseitge scripte erzeugt werden kann -> php, asp) und etwas DOM manipulation.

    soweit so gut. korrigiert mich bitte zu obigen falls notwendig.

    Es wird notwendig. :)

    AJAX ist die Kurzbezeichnung für "Ich kann Javascript und verwende das XmlHttpRequest-Objekt des Browsers, um ohne Seitenneuladen mit dem Server zu kommunizieren".

    Mit anderen Worten: Die Sache ist absolut banal und hat mit XML erstmal gar nicht so viel zu tun - weil nur in ganz ganz seltenen Fällen tatsächlich XML als Ergebnis dieser Serverkommunikation an das XmlHttpRequest-Objekt zurückgeliefert wird, welches man dann tatsächlich als XML-DOM-Baum nutzen könnte.

    Viel häufiger, weil von eher XML-unkundigen Programmierern genutzt, liefert der Server irgendein HTML, XHTML oder Text zurück, auf den man dann in Javascript als String (des Quelltextes) zurückgreifen kann. Und beispielsweise Teile der aktuellen Seite austauscht, indem man diesen String (mit einem HTML-Fragment) der innerHTML-Eigenschaft eines Seitenelements zuweist.

    ich bin nun auf das jquery-framework gestossen, welches mir sehr gut gefällt und in dass ich mich auch flott einarbeiten kann. es macht das DOM Manipulieren sehr sehr einfach und spassig und bietet auch funktionen für AJAX.

    Eine gute Wahl. Die aktuelle Version 1.2 soll in vielen Bereichen nochmal deutlich schneller geworden sein, das hab ich aber nicht persönlich überprüft.

    weiters bin ich auf XSLT gestossen, mit welchem auch XML dokumente (client- und serverseitig) in XHTLM umgewandelt werden können, und somit inhalt praktisch vom design getrennt werden kann.

    Ja, aber das passiert in aller Regel auf dem Server, weil die clientseitig verfügbaren XSLT-Engines wohl eher unzuverlässig bzw. höchst unterschiedlich in den Features sind. Es gibt einfach zuviele Versionen, als dass man sich diesen Klotz der browserabhängigen XSLT-Transformation auch noch ans Bein binden wollte. Man installiert einmal auf dem Server die Engine, die alles tut, was man will, und hat fortan keine Probleme mehr, weil als Resultat einer Transformation nur XHTML rauskommt - und da ist mittlerweile ja erforscht, welche Browser welche Probleme machen (vor allem ja aber beim CSS).

    das hat mich nun etwas verwirrt und zu folgender frage geführt:

    • was is nun der unterschied zwischen AJAX und XSLT, wann verwendet man besser dieses als jene?

    XSLT ist eine komplexe Programmiersprache, mit der du hunderttausend verschiedene Dinge machen kannst.

    AJAX ist die schlichte Tatsache, dass der Browser zum Serverkontakt jetzt keine neue Seite mehr laden muß.

    • is es möglich beides kombiniert zu verwenden und macht das überhaupt sinn, da ja mit AJAX allein auch alles gemacht werden kann was XSLT bietet (aktiviertes javascript vorausgesetzt)? oder irre ich mich?

    Da AJAX keine Programmiersprache ist, kannst du die beiden natürlich nicht vergleichen. Das eine wird benutzt, um Datenaustausch zu machen. Das andere wird benutzt, um unter anderem Daten zu transformieren.

    Da AJAX nur geht, wenn Javascript geht, und Javascript ebenfalls eine Programmiersprache ist, kann man natürlich in beiden Programmiersprachen dasselbe tun. Nur: XSLT ist spezialisiert auf XML, Javascript ist es nicht (oder anders, wenn man mal das DOM betrachtet). Es wäre also vermutlich viel aufwendiger, mit Javascript das zu tun, was XSLT recht einfach kann.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."