4 ms·
WAMP is a sort of tech that did the same thing as Socket.io when the latter was still really popular, while having nice AMQP-like semantics that gave you full r
by niftich 8y ago
WAMP is a sort of tech that did the same thing as Socket.io when the latter was still really popular, while having nice AMQP-like semantics that gave you full routing, and PubSub and RPC with the same stack. A few years ago, it was promising but didn't seem to get a lot of uptake, and then HTTP/2's rise meant that Websocket fell off the hype train into the dustbin of boring technologies no one blogged about anymore.
This happened right as IDL codegens like Thrift also stopped being talked about, and when people did again, it was all about gRPC, which runs over HTTP/2. This didn't help Websocket either.
Projects like this are especially interesting because they genuinely deliver what they claim to do, but to most people they exist in an alternate universe they've never heard about.
- chrisco255 8y agoWhy did HTTP/2 impact Websocket's usage? Websockets are still used for real-time server-client communication in many application stacks.
- derefr 8y agoIf your use-case for Websockets was "make a bunch of concurrent RPC requests without the browser queuing them" then you can achieve the same concurrency semantics using regular AJAX REST calls, as long as they happen to transit over HTTP/2. For a lot of people, that was all they wanted. As well, if you add a single SSE channel to that, riding in the same HTTP/2 socket, you now can do everything Websockets can do. And if you throw a web server like Caddy between your HTTP/2 clients and your application server, now your app server can just be implemented in terms of regular HTTP/1 request-handling, with no need to implement any connection-oriented protocols at all.
- Can_Not 8y agoCan you clarify what mainstream backend frameworks support any of those?
- fulafel 8y agoAre you referring to WebSockets vs HTTP/2 SSE? I think that is just for cache priming and not exposed to applications.
- jkarneges 8y agoYou're thinking of HTTP/2 server push, which is indeed primarily intended for cache priming. SSE, on the other hand, is for pushing data, over any HTTP version.
- sametmax 8y agoWebsockets and http2 don't serve the same purpose. You server code rarely manipulate the http2 stack directly and it's essentially used to serve ressources while websocket is more about pushing notification, giving real time control on knobs and such. Beside, wamp made to be is used outside the web. You use it to make your server side services talk to each others. Or for iot.