Programovanie

Pre WebSockets sa používa 9 zabijakov

Pre všetkých mojich čitateľov: Našťastie pre mňa momentálne pracujem v brazílskych systémoch škálovania, nasávam počasie na 32 ° C a naplňujem feijoadu a caipirinhu. Medzitým, aby som udržal tento blog na úrovni vašich štandardov, som získal môjho hlavného muža Jonathana Freemana, ktorý vás bude vzdelávať, keď budem preč. Bez ďalších okolkov je tu Jonathan - front-guru, špecialista na veľké dáta a jazzový hudobník. Užite si to a uvidíme sa o pár týždňov! - ACO

Používatelia teraz požadujú informácie hneď, ako sú k dispozícii. Ak musíte stránku obnoviť, aby ste získali nové informácie, už je neskoro. Našťastie protokol podporovaný všetkými modernými prehľadávačmi umožňuje priamu výmenu údajov: WebSockets.

Neexistuje žiadne iné riešenie, ktoré by poskytovalo skutočnú obojsmernú komunikáciu, ako napríklad WebSockets, napriek tomu sa mnoho vývojárov webu stále spolieha na hacky, ako je napríklad AJAX long polling. (Pre zaujímavosť, myslím si, že dlhé dotazovanie je veľmi kreatívne a funkčné, ale napriek tomu hack.) Nedostatok nadšenia pre WebSockets môže súvisieť so zraniteľnosťou zabezpečenia pred rokmi alebo nedostatkom podpory prehliadača v tom čase, oba problémy však boli vyriešené. adresovaný.

[Pracujte inteligentnejšie, nie ťažšie - má tipy a trendy, ktoré musia programátori poznať v Sprievodcovi prežitím pre vývojárov. Stiahnite si PDF ešte dnes! | Držte krok s najnovšími správami pre vývojárov prostredníctvom informačného bulletinu Developer World. ]

Určenie, či použiť WebSockets pre danú úlohu, je jednoduché:

  • Zahŕňa vaša aplikácia komunikáciu viacerých používateľov?
  • Je vaša aplikácia oknom do údajov na strane servera, ktoré sa neustále mení?

Ak ste na niektorú z týchto otázok odpovedali kladne, zvážte použitie serverov WebSockets. Ak si stále nie ste istí a chcete inšpiráciu, tu je niekoľko prípadov použitia zabijakov.

1. Sociálne zdroje

Jednou z výhod sociálnych aplikácií je vedieť, čo robia všetci vaši priatelia, keď to robia. Iste, je to trochu strašidelné, ale všetci to milujeme. Nechcete čakať minúty, kým zistíte, že člen rodiny vyhral súťaž v pečení koláčov alebo že sa priateľ zasnúbil. Ste online, takže váš informačný kanál by sa mal aktualizovať v reálnom čase.

2. Hry pre viacerých hráčov

Web si rýchlo získava svoje miesto ako herná platforma. Bez toho, aby sme sa museli spoliehať na doplnky (pozerám sa na teba, Flash), môžu vývojári webu teraz implementovať a experimentovať s vysokovýkonným hraním v prehliadači. Či už pracujete s prvkami DOM, animáciami CSS, plátnom HTML5 alebo experimentujete s WebGL, efektívna interakcia medzi hráčmi je rozhodujúca. Po stlačení spúšte nechcem zistiť, že sa môj súper pohnul.

3. Kolaboratívne úpravy / kódovanie

Žijeme v dobe distribuovaných vývojových tímov. Práce na kópii dokumentu stačili, ale potom ste museli prísť na spôsob, ako spojiť všetky upravené kópie dohromady. Systémy na správu verzií, ako je Git, môžu pomôcť s určitými súbormi, ale aj tak budete musieť ľudí vystopovať, keď Git zistí konflikt, s ktorým si nevie rady. Vďaka spoločnému riešeniu, ako sú WebSockets, môžeme pracovať na rovnakom dokumente a preskočiť všetky zlúčenia. Je ľahké zistiť, kto čo upravuje a či pracujete na rovnakej časti dokumentu ako niekto iný.

4. Údaje clickstream

Schopnosť analyzovať, ako používatelia interagujú s vašou webovou stránkou, je nevyhnutná pre jej zlepšenie. Cena protokolu HTTP nás prinútila uprednostňovať a zhromažďovať iba najdôležitejšie údaje. Potom, šesť mesiacov po sebe, si uvedomíme, že sme mali zhromažďovať inú metriku - takú, ktorá vyzerala nedôležito, ale teraz osvetlí kritické rozhodnutie. S réžiou požiadaviek HTTP, ktorá už nie je v ceste, môžete menej obmedzovať druh údajov, ktoré posielate od klienta. Chcete okrem načítania stránok sledovať aj pohyb myši? Stačí poslať dáta cez pripojenie WebSocket do koncového zariadenia a uchovať ich vo vašom obľúbenom obchode NoSQL. (MongoDB je vhodný na zaznamenávanie takýchto udalostí.) Teraz si môžete prehrať interakcie so zákazníkmi a zistiť, o čo sa skutočne jedná.

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