đą Node.js
WebSocket
Il nâest pas rare quâen tant que Junior ou nouveau venu, une de nos idĂ©es soit la rĂ©alisation dâune application utilisant du temps rĂ©el par le biais des WebSockets (que ce soit pour un tchat, un jeu ou autres).
Bien souvent tout le monde aura le rĂ©flexe de dĂ©buter avec la librairie socket.io (ce que jâai moi-mĂȘme fait) qui est plutĂŽt accessible pour les dĂ©butants et vous apporte un tas de fonctionnalitĂ©s cool comme les rooms.
NĂ©anmoins, maintenant avec mon expĂ©rience, je vous recommanderais aussi de prendre sĂ©rieusement en considĂ©ration le fait de ne pas utiliser directement socket.io qui va vous abstraire bon nombre dâĂ©lĂ©ments et qui peut parfois vous empĂȘcher de mieux comprendre diffĂ©rents fondamentaux (ou de profiter de fonctionnalitĂ©s natives).
Câest aussi je pense un excellent entraĂźnement (si vous en ĂȘtes capable alors socket.io ce sera un camp de vacances Ă cĂŽtĂ©).
Bref nâhĂ©sitez pas Ă vous intĂ©resser Ă lâAPI native WebSockets du navigateur (et le package npm WebSockets pour le back-end). Vous pouvez aussi vous intĂ©resser Ă gRPC qui utilisera notamment protocol buffers pour les messages (plus technique mais ça fait tout de suite moins tĂąche sur votre CV).
Si votre besoin nĂ©cessite de trĂšs haute performance je vous recommande de jeter un Ćil Ă uWebSockets (qui possĂšde un systĂšme de room minimaliste aussi).
Faite nĂ©anmoins attention Ă la mentalitĂ© abrasive du mainteneur (il n'est pas connu pour ĂȘtre un enfant de chĆur et il peut ĂȘtre parfois assez mĂ©chant).
Resources complémentaires (articles, videos, talks)
- EN [Avancé] Building a Complete WebSocket App From Scratch with JavaScript (with no libraries) - Erick Wendel
-
EN [A savoir] [James and Aaron Snell The Journey to a new socketsAPI for JavaScript](https://www.youtube.com/watch?v=R0yh-E-f_dY&list=PL0CdgOSSGlBYI7_e6Zs4kFSXL9LvOn8gM&index=7)
âŹ ïž đą Node.js: Modules (CJS & ESM) | âĄïž đą đ Test unitaire et coverage