In Web development, a mashup is a Web page or application that
uses and combines data, presentation or functionality from two or
more sources to create new services.
The term implies easy, fast integration, frequently using open
APIs and data sources to produce enriched results that were not
necessarily the original reason for producing the raw source
data.
To be able to permanently access the data of other services,
mashups are generally client applications or hosted online. Since
2010, two major mashup vendors have added support for hosted
deployment based on Cloud computing solutions.
In the past years, more and more Web applications have published
APIs that enable software developers to easily integrate data and
functions instead of building them by themselves. Mashups can be
considered to have an active role in the evolution of social
software and Web 2.0. Mashups composition tools are usually simple
enough to be used by end-users. They generally do not require
programming skills, but rather they support visual wiring of GUI
widgets, services and components together. Therefore, these tools
contribute to a new vision of the Web, where users are able to
contribute.