Keynote - JSON Graph: Reactive REST at Netflix
Association for Computing Machinery (ACM)4 HN recommenders · recommended in 4 months, 2015–2023
talk · intermediate · 2015–2023 on HN
Jafar Husain's ACM keynote presents Netflix's JSON Graph and Falcor, which let web developers treat all cloud data as one virtual JSON model. It combines reactive programming with REST principles.
HN commenters point to it as an alternative take on the data-fetching problem GraphQL addresses, and as a clear argument for when RPC or graph models beat plain REST.
Up next
5 mo on HNAWS re:Invent 2016: Tuesday Night Live with James Hamilton
Amazon Web Services
5 HN recommender · 2016–2023
2 mo on HNTracy Young Speaks at Female Founders Conference 2015
Y Combinator
2 HN recommender · 2016–2022
2 mo on HNAWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338)
Amazon Web Services
2 HN recommender · 2019–2023
6 mo on HNZebras All the Way Down - Bryan Cantrill, Uptime 2017
Code & Supply
6 HN recommender · 2018–2025
2 mo on HNJeff Bezos 1997 Interview
Chuck Severance
3 HN recommender · 2021–2025
5 mo on HNSimulating an epidemic
3Blue1Brown
8 HN recommender · 2020–2023
6 mo on HNPaxos lecture (Raft user study)
Diego Ongaro
6 HN recommender · 2013–2024
11 mo on HNBret Victor - Inventing on Principle
Rui Oliveira
12 HN recommender · 2013–2025
14 mo on HNWhat the heck is the event loop anyway? | Philip Roberts | JSConf EU
JSConf
16 HN recommender · 2015–2025
13 mo on HNRich Harris - Rethinking reactivity
You Gotta Love Frontend
15 HN recommender · 2019–2026
10 mo on HNCrockford on JavaScript - Volume 1: The Early Years
YUI Library
10 HN recommender · 2013–2022
10 mo on HNRailsConf 2016 - Turbolinks 5: I Can’t Believe It’s Not Native! by Sam Stephenson
Confreaks
6 HN recommender · 2017–2020
4 comments from Hacker News
It hasn't seen much outside adoption, you might enjoy the ideas behind Netflix's Falcor: link You can think of it as larger-than-what's-downloaded dynamically-generated JSON object with internal pointers where you can ask to access wanted paths. (Sort of like GraphQL is a larger-than-what's-downloaded dynamically-generated non-JSON object.) One trick they use is that the path segments can also be objects, so ` {from: 100, to: 200}` is a valid path segment, and this is how you build fancier query logic with in. ▶ this video
> I had the impression RPC was seen as a mistake. For hypermedia/hypertext Fielding made a solid argument for preferring REST over RPC (mostly because of caching). I still recommend reading his very approachable thesis - these days not so much for the web/REST architecture, but for the other ones, which include modern SPAs (they're not great as hypermedia apps, but fine as networked applications): link Apart from caching (and cache invalidation) it's accepted that making the network invisible is a bad idea - it will lead to issues. So remote procedure calls aren't inherently bad, but blurring the distinction too much between local procedure calls and remote ones aren't a great idea. From hung nfs mounts to unpredictable application performance, it is unpleasant. This Netflix talk on their not-graphql framework gives a very nice summary of when and how you might prefer RPC to REST: ▶ this video
REST over HTTP is cache-able using CDNs like CloudFront. GraphQL isn't? If the client queries get too complex, processing GraphQL might take a toll on the server [0]. GraphQL completely makes sense for a client with limited processing power and battery life, but doesn't offer a great deal in terms of server-to-server communication. JSON Graph by Netflix [1] is worth a look-in for a different take on the problem. Not sure what you mean by node.js "lacking backpressure"? Node.js is a very well suited solution to GraphQL, since GraphQL implies that the workload is going to to be IO bound. [0] link [0] link [1] ▶ this video
I'm also excited to see Jafar Husain's Falcor: ▶ this video It's a different implementation of the same concept.