Bibliothèques utiles pour travailler avec des sockets Web et des nœuds.js


Les WebSockets permettent d’ouvrir une session de communication interactive entre le navigateur de l’utilisateur et un serveur, d’envoyer des messages à un serveur et de recevoir des réponses pilotées par des événements sans avoir à interroger le serveur pour obtenir une réponse.
Bien que certains développeurs choisissent de travailler avec l’API websocket pour une communication asynchrone entre les navigateurs et les serveurs, des problèmes tels que les performances, le traitement des connexions défectueuses, la gestion de l’authentification et de l’autorisation ou l’évolutivité peuvent nécessiter un framework/bibliothèque.
Pour vous aider à gagner du temps, voici une liste restreinte de bibliothèques utiles et activement maintenues qui peuvent vous être utiles. N’hésitez pas à ajouter vos propres suggestions.
Astuce : Utilisez Bit pour partager et réutiliser des composants et des modules entre projets. Cela aidera votre équipe à construire ensemble, à accélérer le développement et à rester synchronisée.

Lisez également:
Comment Nous Construisons un Système de Conception et Comment Nous construisons des interfaces Micro
Un wrapper / API WebSocket largement populaire et utilisé avec plus de 43K étoiles. Constitué d’un nœud.serveur js et une bibliothèque client Javascript, socket.io fournit une fiabilité pour la gestion des proxys et des équilibreurs de charge ainsi que des pare-feu personnels et des logiciels antivirus et prend même en charge le streaming binaire. Utilisé par Microsoft, Zendesk et Trello, il fournit même des analyses en temps réel et peut être utilisé pour un large éventail de cas d’utilisation, des simples discussions à l’IOT. Voici un tutoriel utile de @davidwalshblog.
ws
Avec des étoiles 9k WS est un WebSocket populaire est une bibliothèque client / serveur pour Node.js qui aide à gérer les choses sous le protocole WebSocket. Comme le protocole WebSocket est pris en charge nativement dans la plupart des principaux navigateurs, certains choisissent de travailler directement avec WS sans utiliser socket.io en haut. Voici un lien rapide vers les documents de l’API et voici un court tutoriel avec Node.js et express.
sockjs
At 6k stars sockjs est une bibliothèque JavaScript de navigateur qui fournit un objet de type WebSocket avec une API Javascript multi-navigateurs qui crée une communication inter-domaines à faible latence, en duplex intégral entre le navigateur et le serveur Web. Il suit l’API websocket HTML5 et ce n’est que lorsqu’il échoue qu’il retombe sur des protocoles spécifiques au navigateur. Sockjs-node est la contrepartie de la bibliothèque client.
noeud websocket
Cet outil websocket pour noeud.js a 2k étoiles et est une implémentation JavaScript principalement pure des versions 8 et 13 du protocole WebSocket pour Node. WebSocket-Node inclut des fonctionnalités client et serveur, disponibles via WebSocketClient et WebSocketServer. Une fois la connexion établie, l’API d’envoi et de réception des messages est identique. Voici un court tutoriel pour créer une application de chat simple, et voici une courte présentation.
socketcluster
SocketCluster est un moteur de serveur HTTP + temps réel évolutif qui vous permet de créer des serveurs temps réel multi-processus qui utilisent tous les cœurs de PROCESSEUR sur une machine/instance. Au lieu d’avoir à exécuter le nœud.le serveur js en tant que thread unique rend votre backend plus résilient en récupérant automatiquement les plantages de travailleurs et en agrégeant les erreurs dans un journal central sur chaque hôte. À 5k stars, Il prend en charge à la fois la communication directe client-serveur et la communication de groupe via des canaux pub / sub.
Feathers
Chez nerly 10k stars Feathers est un framework Web de micro-services en temps réel pour NodeJS qui vous donne le contrôle de vos données via des ressources RESTful, des sockets (plug-ins) et des plug-ins flexibles. Le module feathersjs/socketio permet d’appeler des méthodes de service et de recevoir des événements en temps réelvia Socket.io lorsque vous travaillez avec node.js. Voici un court tutoriel pour créer une application de chat simple.
faye-websocket-node
Un peu vieux et « seulement » 500 étoiles, ce projet est un client et serveur WebSocket conforme aux normes. Il fournit des classes pour la construction de serveurs et de clients WebSocket dans Node, mais pas le serveur lui-même ou toute abstraction supplémentaire autre que l’API WebSocket standard (à l’exception des connexions EventSource). Il y a aussi une implémentation Ruby pour le concept.
websocket comme promis
Une bibliothèque client WebSocket fournissant une API basée sur des promesses pour la connexion, la déconnexion et la messagerie avec le serveur. Il s’agit essentiellement d’un simple mécanisme de demande-réponse qui renvoie une promesse. Pour travailler avec Node.js, il doit être combiné avec une bibliothèque de serveur de nœuds tiers comme websockets-node. Bien qu’il ne soit qu’à 200 étoiles, le projet est toujours en développement actif.
Mentions honorables
Notez que ces projets ne sont pour la plupart pas maintenus.
- nodejs-websocket
- Primus
- Express-ws
- Poussoirs – js
- Totaljs