SlideShare a Scribd company logo
Demand Driven Applications
with
Vinci Rufus
@areai51
GraphQL
3 Eras of Web based Applications
Monolithic
Server Side
Applications
De-Coupled
Headless
Applications
REST
Demand Driven
Applications
Demand Driven
C O P Y R I G H T S A P I E N T R A Z O R F I S H | C O N F I D E N T I A L 3
What’s the problem with REST
C O P Y R I G H T S A P I E N T R A Z O R F I S H | C O N F I D E N T I A L 4
Over Fetching & Under Fetching
The Power of Positive Thinking
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Curabitur porttitor, purus quis
ultricies rutrum, erat nisl facilisis erat, in
maximus massa libero nec ipsum. Cras eget
leo sed est scelerisque sodales vel eget justo.
Vestibulum ante ipsum primis in faucibus orci
luctus et ultrices posuere cubilia Curae;
Aenean feugiat ante id bibendum imperdiet.
Nunc gravida mollis est, nec tincidunt diam
sodales ultricies. Etiam consequat lobortis
tellus, eu pretium dui lacinia ac. Phasellus
faucibus eros in luctus tempor. Vestibulum vel
ultrices orci. Nullam in augue libero. Nam
dapibus velit nec pellentesque porttitor.
Author - John Doe
5 Comments - View All
C O P Y R I G H T S A P I E N T R A Z O R F I S H | C O N F I D E N T I A L 5
Agree on JSON Contracts
Frontend Developer Backend Developer
API Documentation
C O P Y R I G H T S A P I E N T R A Z O R F I S H | C O N F I D E N T I A L 7
API Rigidity and Bloat
C O P Y R I G H T S A P I E N T R A Z O R F I S H | C O N F I D E N T I A L 8
API versioning
API - V1 API – V2 API – V3
Demand Driven Architecture
David Nolen
Kovas Boguta
WTH is Demand Driven Architecture?
• Driven from the client side app. Clients demand their data
needs.
• Server knows how to parse this demand structure
recursively, fetching all data that is needed.
• Query up. Render down,
FALCOR GraphQL
By
Netflix
2011
By
Facebook
2012
GraphQL is a query language for your API, and a
server-side runtime for executing queries by using
a type system you define for your data.
"The biggest mistake we made as a company was
betting too much on HTML5 instead of native... We
burnt two years.”
Tech Crunch- Disrupt (2012)
Evolution
2012
Internal
Development at
Facebook
2015
Open sourced
2016
Deemed
Production
Ready
Popular brands using Graphql
GraphQL Specifications
facebook.github.io/graphql
Server Implementations
No Language Server Libraries
1 JavaScript GraphQL.js, express-graphql, Apollo Server
2 Ruby Graphql-ruby
3 Python Graphene
4 Scala Sangria
5 Java Graphql-java
6 Clojure Graphql-clj
7 Go Lang Graphql-gp , graphql-relay-go
8 PHP Graphql-php , graphql-relay-php
9 C# / .Net Graphql-dotnet, graphql-net
10 Elixir Absinthe, graphql-elixir
GraphQL is NOT
! a Graph database
! a client side state management library
! Limited to React, Relay or Web
! Limited to JavaScript & Node
Not related to Facebook’s Social Graph
GraphQL Clients
Relay
lokka
React | Angular | iOS | Android | VanillaJS
REST
GraphQL
src: http://slides.com/gerardsans/ngeurope-ng2-loves-graphql#/3/5
REST
GraphQL
GraphQL Topology
GraphQL
PIM OMS Inventory RDBMS
Microservices
Gql Query
Gql Query
Authentication & Authorization
HTTP
Authentication
GraphQL
Business Logic
Authorization
REST
Data Layer
src: https://www.youtube.com/watch?v=6GyubnT38EQ
GraphQL Query
• Single Endpoint.
• No more crazy parsing logic for JSON data
• No Need for Versioning
3 Types of Operations
•Query
Query data by passing an empty object of fields you want data for.
•Mutations
Cary out write operations on the dataset.
•Subscriptions
Real-time (read-only) updates of data.
GraphiQL
demo:
bit.ly/git-stars
code:
bit.ly/git-stars-code
Upcoming Features
@defer
Live Queries
• Vinci Rufus
• @areai51

More Related Content

PDF
Developing Apps With React Native
PDF
Scala ♥ Graal by Flavio Brasil
PPTX
Everything you want to need to know about GraphQL
PDF
GraphQL Will Do To REST What JSON Did To XML
PDF
shanghai
PDF
Characteristics of Sustainable OSS Projects:
 A Theoretical and Empirical Study
PDF
Challenges of Developing BLE Application on Android
PPTX
The Do's and Don'ts of Mainframe Modernization
Developing Apps With React Native
Scala ♥ Graal by Flavio Brasil
Everything you want to need to know about GraphQL
GraphQL Will Do To REST What JSON Did To XML
shanghai
Characteristics of Sustainable OSS Projects:
 A Theoretical and Empirical Study
Challenges of Developing BLE Application on Android
The Do's and Don'ts of Mainframe Modernization

Similar to Demand driven Applications with GraphQL (20)

PPTX
Taking Control of your Data with GraphQL
PDF
GraphQL: Enabling a new generation of API developer tools
PDF
The API (R) Evolution
PDF
Social Network
PDF
apidays LIVE Australia 2020 - Federating API Development at Australia’s large...
PDF
React and GraphQL at Stripe
PPTX
Netflix Edge Engineering Open House Presentations - June 9, 2016
PDF
Rethinking Server-Side Rendering in Modern PHP Applications
PPTX
Accelerating API Development With OpenAPI and Serverless
PDF
Next Generation Client APIs in Envoy Mobile
PDF
Cloud Apps - Running Fully Distributed on Mobile Devices - Dominik Rüttimann
PDF
10 Famous App Built With React Native
PDF
Flutter vs React Native The Ultimate Comparison in 2023
PDF
GraphQL Server - Single point of opportunities
PDF
INTERFACE, by apidays - Mapping the Multiprotocol Landscape
PDF
H2O World - Building a Smarter Application - Tom Kraljevic
PDF
2016 App vs. Web: Differences & Trends
PDF
Unboxing web with React Native
PDF
Real-time GraphQL API with minimum coding and maximum benefit
PDF
LD-R Presentation at ESWC2016 Developers Hackshop
Taking Control of your Data with GraphQL
GraphQL: Enabling a new generation of API developer tools
The API (R) Evolution
Social Network
apidays LIVE Australia 2020 - Federating API Development at Australia’s large...
React and GraphQL at Stripe
Netflix Edge Engineering Open House Presentations - June 9, 2016
Rethinking Server-Side Rendering in Modern PHP Applications
Accelerating API Development With OpenAPI and Serverless
Next Generation Client APIs in Envoy Mobile
Cloud Apps - Running Fully Distributed on Mobile Devices - Dominik Rüttimann
10 Famous App Built With React Native
Flutter vs React Native The Ultimate Comparison in 2023
GraphQL Server - Single point of opportunities
INTERFACE, by apidays - Mapping the Multiprotocol Landscape
H2O World - Building a Smarter Application - Tom Kraljevic
2016 App vs. Web: Differences & Trends
Unboxing web with React Native
Real-time GraphQL API with minimum coding and maximum benefit
LD-R Presentation at ESWC2016 Developers Hackshop
Ad

More from Vinci Rufus (13)

PPTX
Microfrontends Monoreops & Trunkbased based
PPTX
Spas are dead Long Live Microfrontends
PPTX
Getting Productive & Performant with Angular
PPTX
Dos & Donts when making Technology choices
PPTX
Progressive Web App
PPTX
It's just Angular
PPTX
Angular PWA
PPTX
Making Angular2 lean and Fast
PPTX
Re-thinking Performance tuning with HTTP2
PPTX
Teams Pizza Team vs Jigsaw Puzzle Team
PPTX
Gesture based Interactions in JavaScript
PPTX
Components Approach to building Web Apps
PPTX
Angular JS and Magento
Microfrontends Monoreops & Trunkbased based
Spas are dead Long Live Microfrontends
Getting Productive & Performant with Angular
Dos & Donts when making Technology choices
Progressive Web App
It's just Angular
Angular PWA
Making Angular2 lean and Fast
Re-thinking Performance tuning with HTTP2
Teams Pizza Team vs Jigsaw Puzzle Team
Gesture based Interactions in JavaScript
Components Approach to building Web Apps
Angular JS and Magento
Ad

Recently uploaded (20)

PDF
How to Ensure Data Integrity During Shopify Migration_ Best Practices for Sec...
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PDF
Tenda Login Guide: Access Your Router in 5 Easy Steps
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PPTX
Funds Management Learning Material for Beg
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PDF
Paper PDF World Game (s) Great Redesign.pdf
PPTX
artificial intelligence overview of it and more
PDF
Testing WebRTC applications at scale.pdf
PPTX
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
PDF
The Internet -By the Numbers, Sri Lanka Edition
PDF
Introduction to the IoT system, how the IoT system works
PPTX
Introuction about ICD -10 and ICD-11 PPT.pptx
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PPT
tcp ip networks nd ip layering assotred slides
PPTX
presentation_pfe-universite-molay-seltan.pptx
PDF
Sims 4 Historia para lo sims 4 para jugar
PPTX
Digital Literacy And Online Safety on internet
PDF
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
How to Ensure Data Integrity During Shopify Migration_ Best Practices for Sec...
WebRTC in SignalWire - troubleshooting media negotiation
Tenda Login Guide: Access Your Router in 5 Easy Steps
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Funds Management Learning Material for Beg
An introduction to the IFRS (ISSB) Stndards.pdf
Paper PDF World Game (s) Great Redesign.pdf
artificial intelligence overview of it and more
Testing WebRTC applications at scale.pdf
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
The Internet -By the Numbers, Sri Lanka Edition
Introduction to the IoT system, how the IoT system works
Introuction about ICD -10 and ICD-11 PPT.pptx
SASE Traffic Flow - ZTNA Connector-1.pdf
tcp ip networks nd ip layering assotred slides
presentation_pfe-universite-molay-seltan.pptx
Sims 4 Historia para lo sims 4 para jugar
Digital Literacy And Online Safety on internet
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PptxGenJS_Demo_Chart_20250317130215833.pptx

Demand driven Applications with GraphQL