9 убийци използва за WebSockets

За всички мои читатели: За мое щастие в момента се намирам в бразилски системи за скалиране, поглъщам 32 ° C (32 ° C) време и се напълвам с фейхоада и кайпириня. Междувременно, за да поддържам този блог според вашите стандарти, назначих главния си човек Джонатан Фрийман да ви образова, докато отсъствам. Без повече шум, ето Джонатан - гуру отпред, специалист за големи данни и джаз музикант. Насладете се и ще се видим след няколко седмици! - ACO

Потребителите вече изискват информация веднага щом е налична. Ако трябва да опресните страницата, за да получите нова информация, вече е твърде късно. За щастие протокол, поддържан от всички съвременни браузъри, позволява директен обмен на данни: WebSockets.

Не съществува друго решение, което да осигурява истинска двупосочна комуникация като WebSockets, но много уеб разработчици все още разчитат на хакове като AJAX long anlling. (За протокола, мисля, че дългото проучване е изключително креативно и функционално, но въпреки това е хак.) Липсата на ентусиазъм за WebSockets може да е свързана с уязвимост на сигурността преди години или липсата на поддръжка на браузъра по това време, но и двата проблема бяха адресирани.

[Работете по-умно, а не по-трудно - има съвети и тенденции, които програмистите трябва да знаят в Ръководството за оцеляване на разработчиците. Изтеглете PDF днес! | Бъдете в крак с последните новини за разработчици с бюлетина на Developer World. ]

Определянето дали да се използва WebSockets за съответната работа е лесно:

  • Приложението ви включва ли множество потребители, комуникиращи помежду си?
  • Приложението ви прозорец ли е към данни от сървъра, които непрекъснато се променят?

Ако сте отговорили да на някой от тези въпроси, помислете дали да не използвате WebSockets. Ако все още не сте сигурни и искате малко вдъхновение, ето няколко случая на използване на убийци.

1. Социални емисии

Едно от предимствата на социалните приложения е да знаете какво правят всички ваши приятели, когато го правят. Разбира се, това е малко зловещо, но всички го обичаме. Не искате да чакате минути, за да разберете, че член на семейството е спечелил конкурс за печене на пай или приятел се е сгодил. Вие сте онлайн, така че вашата емисия трябва да се актуализира в реално време.

2. Мултиплейър игри

Мрежата бързо се появява като игрална платформа. Без да се налага да разчитаме на приставки (гледам теб, Flash), уеб разработчиците вече могат да прилагат и експериментират с високопроизводителни игри в браузъра. Независимо дали се занимавате с DOM елементи, CSS анимации, HTML5 платно или експериментирате с WebGL, ефективното взаимодействие между играчите е от решаващо значение. Не искам да откривам, че опонентът ми се е преместил, след като натисна спусъка.

3. Съвместно редактиране / кодиране

Живеем в ерата на разпределените разработчици. Работата по копие на документ беше достатъчна, но тогава трябваше да измислите начин за обединяване на всички редактирани копия. Системите за контрол на версиите като Git могат да помогнат с определени файлове, но все пак ще трябва да проследявате хората, когато Git открие конфликт, с който не може да се справи. Със съвместно решение като WebSockets можем да работим върху един и същ документ и да пропуснем всички обединения. Лесно е да видите кой какво редактира и ако работите върху същата част от документ като някой друг.

4. Clickstream данни

Възможността да анализирате как потребителите взаимодействат с вашия уебсайт е от решаващо значение за подобряването му. Цената на HTTP ни принуди да дадем приоритет и да съберем само най-важните данни. След това, шест месеца по-надолу, осъзнаваме, че е трябвало да събираме различна метрика - такава, която изглеждаше маловажна, но сега ще хвърли светлина върху критично решение. С излишните режими на HTTP заявките можете да бъдете по-малко ограничителни по отношение на вида данни, които изпращате от клиента. Искате да проследявате движението на мишката в допълнение към зареждането на страници? Просто изпратете данните през WebSocket връзка към задния край и ги запазете в любимия си магазин NoSQL. (MongoDB е добър за регистриране на събития като този.) Сега можете да възпроизвеждате взаимодействия с клиенти, за да видите какво всъщност се случва.