2010-07-02 7 views
5

Ich bin gerade über die WebSockets-Funktion in HTML 5, here, gestolpert. Auf den ersten Blick scheint es so, als ob Firefox und IE mit der Spezifikation an Bord gehen, könnte Ajax redundant sein. Meine Frage ist, wird Ajax (mit jquery $ .ajax() oder sogar mit geraden XMLHttpRequest/other) durch dieses neue ws: // - Protokoll ersetzt?Ersetzen Webstores in HTML 5 AJAX für partielle Seitenaktualisierungen?

Wenn ja, wann sollten wir unsere Entwicklungsmethoden ändern?

Antwort

5

Websockets Adresse eine andere Notwendigkeit als XMLHTTPRequests. Letzteres ist, was sein Name sagt: eine Anfrage: Sie wissen, dass Sie etwas brauchen (dh, weil der Benutzer einen Link angeklickt hat, gescrollt oder was auch immer) und Sie es abrufen - und XHR macht einen guten Job, genau das zu tun.

Probleme treten auf, wenn bestimmte Ereignisse auf der Serverseite ausgelöst werden können, die in Echtzeit an den Client gesendet werden sollen. Das einzige, was Sie jetzt tun können, ist, den Server regelmäßig abzufragen - was ein Hack ist, der mit einer Reihe von Problemen einhergeht. Und das ist genau das Problem, für das Websockets gemacht werden: Einen Backchannel für den Browser für Echtzeitbenachrichtigungen bereitstellen.

Ich denke, Ajax XOR Websockets ist eine Art falsche Dichotomie. Sie richten sich an unterschiedliche Bedürfnisse und können friedlich koexistieren.

0

Wenn Browser Web Sockets zu implementieren beginnen.

+0

anscheinend Safari und Chrome bereits tun ... – Tahbaza

0

Ich bin etwas skeptisch. Alle großen Browser unterstützten 1999 Ajax und wurden nach dem Start von Gmail um 2005 populär. Und wir haben noch nicht einmal diesen Punkt erreicht, wo große Browser Web-Sockets unterstützen (fügen Sie noch ein paar Jahre hinzu).

Es gibt einen einfachen Grund für diese Verzögerung bei der Adoption von ajax: die Notwendigkeit, dass Websites ältere Browserversionen unterstützen. (Denken Sie daran, wie viele Leute immer noch IE 6 & 7 verwenden?)