Programování

9 zabijáckých použití pro WebSockets

Všem mým čtenářům: Naštěstí pro mě v současné době pracuji v systémech škálování v Brazílii, nasávám počasí o teplotě 32 ° C a naplňuji feijoadu a caipirinhu. Mezitím, abych udržel tento blog na vašich standardech, jsem získal svého hlavního muže Jonathana Freemana, aby vás vzdělával, když jsem pryč. Bez dalších okolků, tady je Jonathan - front-guru, specialista na velká data a jazzový hudebník. Užijte si a uvidíme se za pár týdnů! - ACO

Uživatelé nyní požadují informace, jakmile jsou k dispozici. Pokud musíte stránku obnovit, abyste získali nové informace, je už příliš pozdě. Naštěstí protokol podporovaný všemi moderními prohlížeči umožňuje přímou výměnu dat: WebSockets.

Neexistuje žádné jiné řešení, které by poskytovalo skutečnou obousměrnou komunikaci, jako jsou WebSockets, přesto se mnoho vývojářů webu stále spoléhá na hackery, jako je AJAX long polling. (Pro začátek si myslím, že dlouhé dotazování je vysoce kreativní a funkční, ale přesto hack.) Nedostatek nadšení pro WebSockets může souviset s chybou zabezpečení před lety nebo s nedostatkem podpory prohlížeče v té době, ale oba problémy byly vyřešeny řešit.

[Pracujte chytřeji, ne tvrději - má tipy a trendy, které programátoři potřebují znát v Příručce pro přežití vývojářů. Stáhněte si PDF ještě dnes! | Zůstaňte v kontaktu s nejnovějšími novinkami pro vývojáře pomocí bulletinu Developer World. ]

Určení, zda použít WebSockets pro danou úlohu, je jednoduché:

  • Zahrnuje vaše aplikace komunikaci více uživatelů navzájem?
  • Je vaše aplikace oknem do dat na straně serveru, která se neustále mění?

Pokud jste na některou z těchto otázek odpověděli ano, zvažte použití WebSockets. Pokud si stále nejste jisti a chcete nějakou inspiraci, je zde několik případů použití zabijáků.

1. Sociální kanály

Jednou z výhod sociálních aplikací je vědět, co dělají všichni vaši přátelé, když to dělají. Jistě, je to trochu strašidelné, ale všichni to milujeme. Nechcete čekat minuty, než zjistíte, že člen rodiny vyhrál soutěž v pečení koláčů nebo se zasnoubil přítel. Jste online, takže váš zdroj by se měl aktualizovat v reálném čase.

2. Hry pro více hráčů

Web si rychle získává svoji vlastní herní platformu. Bez nutnosti spoléhat se na pluginy (dívám se na vás, Flash) mohou vývojáři webu nyní implementovat a experimentovat s vysoce výkonnými hrami v prohlížeči. Ať už pracujete s prvky DOM, animacemi CSS, plátnem HTML5 nebo experimentujete s WebGL, efektivní interakce mezi hráči je zásadní. Nechci zjistit, že se můj soupeř pohnul po stisknutí spouště.

3. Kolaborativní úpravy / kódování

Žijeme ve věku distribuovaných vývojových týmů. Práce na kopii dokumentu stačila, ale pak jste museli přijít na způsob, jak sloučit všechny upravené kopie dohromady. Systémy pro správu verzí, jako je Git, mohou s určitými soubory pomoci, ale i tak budete muset lidi sledovat, když Git najde konflikt, s nímž se nedokáže vypořádat. Díky řešení pro spolupráci, jako jsou WebSockets, můžeme pracovat na stejném dokumentu a přeskočit všechna sloučení. Je snadné zjistit, kdo co upravuje a jestli pracujete na stejné části dokumentu jako někdo jiný.

4. Clickstream data

Schopnost analyzovat, jak uživatelé interagují s vaším webem, je zásadní pro jeho vylepšení. Cena protokolu HTTP nás donutila upřednostňovat a shromažďovat pouze nejdůležitější data. Poté, po šesti měsících, si uvědomíme, že jsme měli sbírat jinou metriku - takovou, která vypadala nedůležitě, ale nyní osvětlí kritické rozhodnutí. S režií požadavků HTTP z cesty, můžete být méně omezující, pokud jde o druh dat, která odesíláte z klienta. Chcete kromě načítání stránek sledovat i pohyb myši? Jednoduše odešlete data prostřednictvím připojení WebSocket k zadnímu konci a přetrvávejte ve svém oblíbeném obchodě NoSQL. (MongoDB je vhodný pro protokolování událostí, jako je tento.) Nyní můžete přehrát interakce se zákazníky a zjistit, o co ve skutečnosti jde.

$config[zx-auto] not found$config[zx-overlay] not found