For example: a component that lists blog posts could be represented by:
{
options:{
elements:[image, title, author, date]
},
criteria:{
sort:date.desc,
published:true,
limit:10
},
request_vars:{page:3}
}
That would show the last 10 posts that are published, ordered by date, on page 3 of the results.That's a simple example, this site: volumeone.org is built almost entirely this way.
Since it's in JSON format, JavaScript can be used to build UIs that build the components and layouts.