The core idea of Microapps is basically using the web (and REST specifically) as a component architecture to build applications.

A microapp is a small application with a very tight focus that can be integrated with other microapps or other web applications via HTTP and a common data format (usually XML, JSON, or RDF). Microapps may be stateless or they may manage stateful data.

Advantages include:

Not quite REST

This is a tricky and subtle distinction. Microapps are a slightly more inclusive concept than REST. REST is an architectural style. Microapps are REST plus some additional conventions and nods to practicality. REST is a *huge* part of the microapp concept, but it's not quite all of it. One core idea is that, as much as possible, a microapp should only handle a single type of resource. At the most it should handle a very small number of very closely related resources. In contrast, a typical REST application may involve all sorts of different kinds of resources to be a complete application. Microapps are about taking that application apart into its constituent parts and making them each separate, encapsulated microapps on their own that communicate with each other via HTTP instead of an internal API or shared database.

Microapp Philosophy (last edited 2006-12-07 20:23:03 by AndersPearson)