I feel like websockets get waaay too much hype and attention compared to SSE, especially for use cases that are barely interactive at all.
But today I always start with plain HTTP, then try SSE, and finally WebSockets if I have to.
For infrequent requests everything goes through the api, but for stuff like chat and live-document-editing, nodejs is the better solution.
But to answer this new question:
* You can have bidi without WS.
* Because WS is more complicated.
Because I was answering this question: "What's wrong with normal HTTP requests for client->server streams?"
> You can have bidi without WS.
Only by combining HTTP (which doesn't scale because my api server runs rails) and SSE (which does scale). If I want scaling bidirectional communication, I need websockets.
> Because WS is more complicated.
More complicated than SSE? I don't think so.