9 Killer-Anwendungen für WebSockets

An alle meine Leser: Zum Glück bin ich derzeit in brasilianischen Skalierungssystemen, nehme 32,2 ° C warmes Wetter auf und fülle mich mit Feijoada und Caipirinha. In der Zwischenzeit habe ich meinen Hauptmann Jonathan Freeman angeworben, um Sie während meiner Abwesenheit zu unterrichten, damit dieser Blog Ihren Standards entspricht. Hier ist Jonathan - Front-End-Guru, Big-Data-Spezialist und Jazzmusiker. Viel Spaß und wir sehen uns in ein paar Wochen! - ACO

Benutzer fordern jetzt Informationen an, sobald diese verfügbar sind. Wenn Sie die Seite aktualisieren müssen, um neue Informationen zu erhalten, ist es bereits zu spät. Glücklicherweise ermöglicht ein Protokoll, das von allen modernen Browsern unterstützt wird, den direkten Datenaustausch: WebSockets.

Es gibt keine andere Lösung, die eine echte bidirektionale Kommunikation bietet, wie WebSockets. Dennoch verlassen sich viele Webentwickler immer noch auf Hacks wie AJAX Long Polling. (Ich denke, lange Umfragen sind sehr kreativ und funktional, aber dennoch ein Hack.) Mangelnde Begeisterung für WebSockets kann mit einer Sicherheitslücke vor Jahren oder der mangelnden Browserunterstützung zu dieser Zeit zusammenhängen, aber beide Probleme waren es angesprochen.

[Arbeiten Sie intelligenter, nicht härter - enthält die Tipps und Trends, die Programmierer im Developers 'Survival Guide kennen müssen. Laden Sie das PDF noch heute herunter! | Bleiben Sie mit dem Developer World-Newsletter über die neuesten Entwicklernachrichten auf dem Laufenden. ]]

Es ist einfach zu bestimmen, ob WebSockets für den jeweiligen Job verwendet werden soll:

  • Umfasst Ihre App mehrere Benutzer, die miteinander kommunizieren?
  • Ist Ihre App ein Fenster in serverseitige Daten, die sich ständig ändern?

Wenn Sie eine dieser Fragen mit Ja beantwortet haben, sollten Sie WebSockets verwenden. Wenn Sie sich immer noch nicht sicher sind und sich inspirieren lassen möchten, finden Sie hier einige Killer-Anwendungsfälle.

1. Soziale Feeds

Einer der Vorteile von Social Apps besteht darin, zu wissen, was all Ihre Freunde tun, wenn sie es tun. Sicher, es ist ein bisschen gruselig, aber wir alle lieben es. Sie möchten nicht Minuten warten, um herauszufinden, dass ein Familienmitglied einen Kuchenbackwettbewerb gewonnen hat oder ein Freund verlobt ist. Sie sind online, daher sollte Ihr Feed in Echtzeit aktualisiert werden.

2. Multiplayer-Spiele

Das Web entwickelt sich schnell zu einer Gaming-Plattform. Ohne sich auf Plug-Ins verlassen zu müssen (ich sehe Sie an, Flash), können Webentwickler jetzt Hochleistungsspiele im Browser implementieren und damit experimentieren. Unabhängig davon, ob Sie sich mit DOM-Elementen, CSS-Animationen, HTML5-Canvas beschäftigen oder mit WebGL experimentieren, ist eine effiziente Interaktion zwischen den Spielern von entscheidender Bedeutung. Ich möchte nicht feststellen, dass sich mein Gegner bewegt hat, nachdem ich den Abzug gedrückt habe.

3. Kollaboratives Bearbeiten / Codieren

Wir leben im Zeitalter verteilter Entwicklerteams. Die Arbeit an einer Kopie eines Dokuments reichte früher aus, aber dann musste man einen Weg finden, um alle bearbeiteten Kopien zusammenzuführen. Versionskontrollsysteme wie Git können bei bestimmten Dateien helfen, aber Sie müssen immer noch Leute ausfindig machen, wenn Git einen Konflikt findet, mit dem es nicht umgehen kann. Mit einer kollaborativen Lösung wie WebSockets können wir an demselben Dokument arbeiten und alle Zusammenführungen überspringen. Es ist leicht zu erkennen, wer was bearbeitet und ob Sie an demselben Teil eines Dokuments arbeiten wie jemand anderes.

4. Clickstream-Daten

Die Analyse der Interaktion der Benutzer mit Ihrer Website ist für deren Verbesserung von entscheidender Bedeutung. Die Kosten für HTTP haben uns gezwungen, nur die wichtigsten Daten zu priorisieren und zu sammeln. Dann, sechs Monate später, stellen wir fest, dass wir eine andere Metrik hätten sammeln sollen - eine, die unwichtig aussah, aber jetzt Licht in eine kritische Entscheidung bringen würde. Da der Aufwand für HTTP-Anforderungen nicht im Weg ist, können Sie die Art der Daten, die Sie vom Client senden, weniger einschränken. Möchten Sie die Mausbewegung zusätzlich zum Laden der Seite verfolgen? Senden Sie die Daten einfach über eine WebSocket-Verbindung an das Back-End und speichern Sie sie in Ihrem bevorzugten NoSQL-Store. (MongoDB eignet sich gut zum Protokollieren solcher Ereignisse.) Jetzt können Sie Kundeninteraktionen wiedergeben, um zu sehen, was wirklich vor sich ging.