Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Adaptive and evolvable apps

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Adaptive and evolvable apps

Avatar for Ben Longden

Ben Longden

May 08, 2015
Tweet

More Decks by Ben Longden

Other Decks in Technology

Transcript

  1. Hypermedia*Applica.on*Language { "_links": { "self": { "href": "/orders/1" }, "next":

    { "href": "/orders/2" } }, "_embedded": { "items": [ { "_links": { "self": { "href": "/items/1" } } "price": "10" } ] }, "total": "10" } Adap%ve(and(evolvable(applica%ons(0(Ben(Longden 17
  2. Outbound(naviga-onal { "_links": { "self": { "href": "http://example.org/thing/2" }, "prev":

    { "href": "http://example.org/thing/1" }, "next": { "href": "http://example.org/thing/3" } } } Adap%ve(and(evolvable(applica%ons(0(Ben(Longden 19
  3. Embedded { "_embedded": { "things": [ { ... } ]

    } } Adap%ve(and(evolvable(applica%ons(0(Ben(Longden 20
  4. { "_links": { "self": { "href": "http://example.org/thing/2" }, "prev": {

    "href": "http://example.org/thing/1" }, "next": { "href": "http://example.org/thing/3" } } } Adap%ve(and(evolvable(applica%ons(0(Ben(Longden 24
  5. Use$a$link$template$on$the$home$if$you$need$to$convert$an$id$to$a$URL { "_links": { "self": { "href": "/" }, "thing":

    { "href": "http://example.org/thing/{id}", "templated": "true" } } } Adap%ve(and(evolvable(applica%ons(0(Ben(Longden 30
  6. { "title": "Example Schema", "type": "object", "properties": { "firstName": {

    "type": "string" }, "lastName": { "type": "string" }, "age": { "description": "Age in years", "type": "integer", "minimum": 0 } }, "required": ["firstName", "lastName"] } Adap%ve(and(evolvable(applica%ons(0(Ben(Longden 34