I've been working on a JS framework to make this simple in web apps. http://github.com/pfraze/link It's not ready to use, but I wanted to mention it here so nobody starts a duplicate effort unnecessarily.
The use case goes in both directions: extensable code means plugins to do what you need, and reusable code means multiple remote services can use the same UIs. Think of a single inbox which natively sends & receives messages with email, private social network(s), twitter, Facebook, LinkedIn, and anything else with a web API (or that can be wrapped in one). Adding new services and/or UIs is just adding a JS file.
So I'm building this HMVC-like mediator framework that uses command objects (which behave like http requests / responses) to try to make that happen. It's kind of like a set of UI-building proxies in the browser. Each module is a contained set of resources which should drop into a URI structure and start working.
I need to refactor the API a bit and write the docs. I also figure it would be cool to package it with some node servers to allow users to install it and run it purely clientside, since all it really needs is config persistence, a proxy to deal with cross-origin, and some gateways to handle oauth.
The use case goes in both directions: extensable code means plugins to do what you need, and reusable code means multiple remote services can use the same UIs. Think of a single inbox which natively sends & receives messages with email, private social network(s), twitter, Facebook, LinkedIn, and anything else with a web API (or that can be wrapped in one). Adding new services and/or UIs is just adding a JS file.
So I'm building this HMVC-like mediator framework that uses command objects (which behave like http requests / responses) to try to make that happen. It's kind of like a set of UI-building proxies in the browser. Each module is a contained set of resources which should drop into a URI structure and start working.
I need to refactor the API a bit and write the docs. I also figure it would be cool to package it with some node servers to allow users to install it and run it purely clientside, since all it really needs is config persistence, a proxy to deal with cross-origin, and some gateways to handle oauth.