Tiny rant on the Dart team: they created json_rpc_2, a library that provides an implementation of JSON-RPC v2. However, although JSON-RPC v2 works with both WebSockets as regular HTTP connection, json_rpc_2 is almost impossible to get working with regular HTTP. json_rpc_2 expects a Stream and a StreamSink for responses and requests.
So I wrote an Asynchronous HTTP library that provides these things. While doing so and really getting annoyed by the io/html duality when dealing with WebSockets and HTTP, I made id environment-independent.
And to my own surprise, it worked! (Using deferred loading of libraries.)
That code works in stand-alone VM, Dartium and with dart2js.
Now, my question: will the Dart team ever provide this functionality? Like a WebSocket or HttpClient class that works everywhere?