I’ll throw my hat into the ring too, I guess.
Just pushed an alpha of this:
https://github.com/Miserlou/live_json
Built for my own needs, but maybe it’ll be handy for you as well.
It’s very simple and works with existing LiveViews - just use LiveJson.push_patch the way you’d use assign or push_event. It has two modes, jsondiff and rfc mode, which use Jsondiff and JSON-Patch, respectively. jsondiff mode is very fast, and rfc mode is compatible everywhere.
As an example you can:
def handle_info({:new_data_to_visualize, new_data} = _event, socket) do
{:noreply,
socket
|> push_patch("viz_data", new_data)
}
end
Then, in your JS console:
window.viz_data
// {1: ["a"], 2: ["b"] ... 99999: ["zzzzz"]}
Only deltas are sent over the wire, so it’s quite fast!
More details soon, but works for me.


















