Composable UI
powered by immutable database
(What would happen if REST were immutable?)
Dustin Getz
May 28 2016
“REST does a bad job of efficiently expressing relational data.… I mean REST has its place. For example, it has very predictable performance and well-known cache characteristics. The problem is when you want to fetch data in repeated rounds, or when you want to fetch data that isn't expressed well as a hierarchy (think a graph with cycles -- not uncommon). That's where it breaks down. I think you can get pretty far with batched REST, but I'd like to see some way to query graphs in an easier way.”
(Pete Hunt - April 2014 while working at Facebook)
Surf it on your phone: http://seattle.hypercrud.com/api
Problem Statement
Which means…
If only we could always read from cache!
Datoms, entities, components
[{:id 100 :name "Dustin" :country 101}
{:id 102 :name "Karl" :country 101}
{:id 101 :label "USA"}]
[[100 :name "Dustin"]
[100 :country 101]
[101 :label "USA"]
[102 :name "Karl"]
[102 :country 101]]
[{:id 100
:name "Dustin"
:country {:id 101
:label "USA"}}
{:id 102
:name "Karl"
:country {:id 101
:label "USA"}}]
“git clone to the browser”
Which means…
Performance and security
Nikita Prokopov
HATEOAS
Recursive graph traversal
http://seattle.hypercrud.com/browser/ (Surf to a community)
[{:id 100
:name "Dustin"
:country {:id 101
:label "USA"}}
{:id 102
:name "Karl"
:country {:id 101
:label "USA"}}]
Conclusion
We are: Dustin Getz, Karl Hardenstine; https://github.com/hypercrud