it is fairly simple to do JSON-RPC via jquery, e.g. setting a dimmer level does look like this in ago control:
function setlevel(uuid, level) {
var request = {};
request.method = "message";
request.params = {};
request.params.command = "setlevel";
request.params.uuid = uuid;
request.params.level = level;
request.id = 1;
request.jsonrpc = "2.0";
$.post(url, JSON.stringify(request), myCallback, "json");
}
So JSON-RPC barely adds overhad/code but provides a standardised way to talk to it. And that snippet isn't much more complex than concatenating specific URI strings. Coming up with dozens of /what/ever/it/might/be RESTful URLs ain't gonna make it easier in the long run. Specific URIs to fetch e.g. a list of lights are too specialised. A simple inventory request that delivers structured data with all rooms, scenarios, devices and states provides all that data in a single request. Plus it provides the schema. So the GUI knows what kind of actions the devices support. That allows for a generic widget approach (on, off, level, …). My two cents.
br Hari