Hi. I read a few articles that made it seem that, thanks to browser improvements, it's no longer needed in 2021 (a bit like how jQuery was so useful 10 years ago, but not so much now). For example https://ably.com/topic/socketio
Hiya!
So I've got a lot of evidence that the technique is solid, if not using the exact solution listed above. We've got customers that do this every day for everything from banking to chat. https://ably.com/blog/dependable-realtime-banking-with-kafka-and-ably
Hey r/programming!
We’ve used our extensive knowledge of WebSockets to write the definitive resource about the technology that opened the door to a truly realtime web: The Websocket Handbook.
We'd love to get your feedback on the handbook, and understand what people's experience is with WebSockets in general, including common pain points or interesting applications that you want to share, and what else you'd like to learn!
FWIW, I just published Alice & Bob (the Bakeoff Edition), to explain Event-Driven architecture, and they're now living together happily in cake-filled bliss.
Hi! Thanks for the thoughtful response, and the WebTorrent tip. I replied to someone else about socket.io - basically my understanding is that you can do most features using vanilla websockets nowadays. See this article for example https://ably.com/topic/socketio
So I'm not saying that I don't need a backend - I'm planning on writing a websocket server on the backend, which will interface with the database and handle authentication, the data model etc.
'Realtime' with WebAPI is not really a thing.
Assuming I understand correctly you are collecting data and at some given point (i.e. time based or event based) you want to send this collected data to a client. To me this sounds like a perfect use case for something like SingleR.
The fundamental difference between using a WebAPI rest based service and SingleR/WebSockets is that you no longer have to poll the data and instead keep an open connection to the server from the client ensuring that as soon as a change is available it can be pushed to the client.