際際滷

際際滷Share a Scribd company logo
GRAPHQL
A Missing link in REST
Anubolu Sreekanth
@Tataatsu Idealabs
https://github.com/sreekanth-anubolu
What is GraphQL?
 A query language for API
 Ask for what you need, get exactly that
Misconceptions about GraphQL
 GraphQL is not a Graph DB technology
 GraphQL is not replacement of REST
 It is not tied to any framework / language
 Security  Authentication approach is same as
REST
Existing issues in REST?
First of all REST is great 
Issues and Gaps
 Endless Endpoints (3500 APIs onTwitter)
 Hard to maintainVersioning
 Frontend Developers always find it hard
 Multiple Roundtrips
 Over fetching Data
 Not agile enough
TypicalWeb Architecture
Lets try to build API for simple News Feed UI
Roundtrips are too many
Solution: Build new API that is specific to this
view.
SolvedTADAAAA
But, this API is tightly coupled to the UI
Now  Designer says lets not show tags, instead author IMG
We May Not:
 Mobile Apps are already consuming API
 So, for the new UI, we end-up over fetching data
in order to support backtracking. - Not a good
approach.
 Build new version API
UI will be changed. Should we modify
the API?
Wouldnt it be nice if we get what we
request?
Too Many UI iterations Developers
look at Designers
So, REST is not greatly adoptable for
rapid development.
Building new APIs for every change
involves effort and also increases
maintenance.
Very soon API maintenance becomes
complex.
Developer Friendliness
 Its hard for new developers to understand the evolved
API.
 We have to maintain documentation, for everyAPI we
build. Ex: Swagger
 Effort Involved to document.
 Frontend developers should always wait for Backend
to complete and it slows down the development
speed.
So its clear that these are the common
issues on REST
 Endless Endpoints
 Hard to maintainVersioning
 Multiple Roundtrips
 Over fetching Data
 Not agile enough
 Frontend Developers always find it hard
Well GraphQL will address all of that.
GraphQL  A Missing Link in REST
GraphQL  A Query Language for API
 GraphQL is a data query language open-sourced by Facebook
in 2015, internalized in Facebook back in 2012.
 Today all Facebook mobile devices/clients are powered by
GraphQL.
 GraphQL is built by keeping single endpoint in mind.
 It follows a strict schematic and type system approach.
 Queries should be written considering the Schema andTypes
How it works?
It is a beautiful query language, which lets us query for what we want and
response is ordered in same structure as we queried.
Example of Schema
Query Response
GraphQL doesn't stop us from talking to other services
Important Features and Batteries of GraphQL
 Dataloader  Server side caching and Batch Query Processing
 Subscribing to Server Side Events
 GraphiQL  Browser based IDE for writing queries
 Built-in documentation support with GraphiQL
 Great support to many languages
 Apollo for Angular/React  Great Performance
 Support for Android/IOS
GraphQL In Action
https://github.com/sreekanth-anubolu/graphql-node-sqlite
Benefits of using GraphQL
 Single Endpoint
 Reduced Roundtrips  Faster than before
 Can Batch Multiple Queries
 No Over/Under fetching, get what you want
 Freedom to front-end developers
 Version free
 Productive
 Backward compatibility
 Results Structured as Queried
GraphQL is platform agnostic
 JavaScript/node-js (express-graphql for backend andApollo GraphQL for client apps
likeAngular/React/Vue/Polymer.. etc.)
 Java
 Python
 C#/.NET
 PHP
 GO
 Erlang
 Groovy
 Ruby
 Scala
Who embraced the power of GraphQL?
Thanks
Questions?
Email - anubolusreekanth@gmail.com
Demo link - https://github.com/sreekanth-anubolu/graphql-node-sqlite

More Related Content

What's hot (20)

Graphql
GraphqlGraphql
Graphql
sabativi
Python Map Reduce vs Scalding
Python Map Reduce vs ScaldingPython Map Reduce vs Scalding
Python Map Reduce vs Scalding
Andreea Bodnari
Web Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQLWeb Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQL
Roy Derks
NPA Data Science: tools review
NPA Data Science: tools reviewNPA Data Science: tools review
NPA Data Science: tools review
Kate Farrell
GraphQL Without a Database | Frontend Developer Love
GraphQL Without a Database | Frontend Developer LoveGraphQL Without a Database | Frontend Developer Love
GraphQL Without a Database | Frontend Developer Love
Roy Derks
The 4W's of Angular
The 4W's of AngularThe 4W's of Angular
The 4W's of Angular
Lena Lekkou
Evolution of enterprise architectures
Evolution of enterprise architectures Evolution of enterprise architectures
Evolution of enterprise architectures
Grant Steinfeld
Google Charts for native Android apps
Google Charts for native Android appsGoogle Charts for native Android apps
Google Charts for native Android apps
Chuck Greb
OutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI IntegrationsOutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI Integrations
OutSystems
Android maven Road to flutter| Mavenizing Flutter for web
Android maven Road to flutter| Mavenizing Flutter for webAndroid maven Road to flutter| Mavenizing Flutter for web
Android maven Road to flutter| Mavenizing Flutter for web
OluwatobiAkinpelu
Scala from the Trenches - Java One 2016
Scala from the Trenches - Java One 2016Scala from the Trenches - Java One 2016
Scala from the Trenches - Java One 2016
Kfir Bloch
The case for Web components - Drupal4Gov webinar
The case for Web components - Drupal4Gov webinarThe case for Web components - Drupal4Gov webinar
The case for Web components - Drupal4Gov webinar
btopro
Learning Together: Motion Infographics
Learning Together: Motion InfographicsLearning Together: Motion Infographics
Learning Together: Motion Infographics
Saiff Solutions, Inc.
First programming language to learn | Which Programming Language to Learn Fi...
First programming language to learn |  Which Programming Language to Learn Fi...First programming language to learn |  Which Programming Language to Learn Fi...
First programming language to learn | Which Programming Language to Learn Fi...
Intellipaat
Help with Matlab Assignment Research Help
Help with Matlab Assignment Research HelpHelp with Matlab Assignment Research Help
Help with Matlab Assignment Research Help
Matlab Simulation
Performance optimisation with GraphQL
Performance optimisation with GraphQLPerformance optimisation with GraphQL
Performance optimisation with GraphQL
yann_s
TuleapCon 2017-STMicroelectronics-Case-Study
TuleapCon 2017-STMicroelectronics-Case-StudyTuleapCon 2017-STMicroelectronics-Case-Study
TuleapCon 2017-STMicroelectronics-Case-Study
Tuleap
Matlab Assignment Experts Research Help
Matlab Assignment Experts Research HelpMatlab Assignment Experts Research Help
Matlab Assignment Experts Research Help
Matlab Simulation
AWTW - Automated Web Translation Workflow
AWTW - Automated Web Translation WorkflowAWTW - Automated Web Translation Workflow
AWTW - Automated Web Translation Workflow
stany.van.gelder
Krunalkumar rajdip
Krunalkumar rajdipKrunalkumar rajdip
Krunalkumar rajdip
Krunalkumar Rajdip
Graphql
GraphqlGraphql
Graphql
sabativi
Python Map Reduce vs Scalding
Python Map Reduce vs ScaldingPython Map Reduce vs Scalding
Python Map Reduce vs Scalding
Andreea Bodnari
Web Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQLWeb Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQL
Roy Derks
NPA Data Science: tools review
NPA Data Science: tools reviewNPA Data Science: tools review
NPA Data Science: tools review
Kate Farrell
GraphQL Without a Database | Frontend Developer Love
GraphQL Without a Database | Frontend Developer LoveGraphQL Without a Database | Frontend Developer Love
GraphQL Without a Database | Frontend Developer Love
Roy Derks
The 4W's of Angular
The 4W's of AngularThe 4W's of Angular
The 4W's of Angular
Lena Lekkou
Evolution of enterprise architectures
Evolution of enterprise architectures Evolution of enterprise architectures
Evolution of enterprise architectures
Grant Steinfeld
Google Charts for native Android apps
Google Charts for native Android appsGoogle Charts for native Android apps
Google Charts for native Android apps
Chuck Greb
OutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI IntegrationsOutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI Integrations
OutSystems
Android maven Road to flutter| Mavenizing Flutter for web
Android maven Road to flutter| Mavenizing Flutter for webAndroid maven Road to flutter| Mavenizing Flutter for web
Android maven Road to flutter| Mavenizing Flutter for web
OluwatobiAkinpelu
Scala from the Trenches - Java One 2016
Scala from the Trenches - Java One 2016Scala from the Trenches - Java One 2016
Scala from the Trenches - Java One 2016
Kfir Bloch
The case for Web components - Drupal4Gov webinar
The case for Web components - Drupal4Gov webinarThe case for Web components - Drupal4Gov webinar
The case for Web components - Drupal4Gov webinar
btopro
Learning Together: Motion Infographics
Learning Together: Motion InfographicsLearning Together: Motion Infographics
Learning Together: Motion Infographics
Saiff Solutions, Inc.
First programming language to learn | Which Programming Language to Learn Fi...
First programming language to learn |  Which Programming Language to Learn Fi...First programming language to learn |  Which Programming Language to Learn Fi...
First programming language to learn | Which Programming Language to Learn Fi...
Intellipaat
Help with Matlab Assignment Research Help
Help with Matlab Assignment Research HelpHelp with Matlab Assignment Research Help
Help with Matlab Assignment Research Help
Matlab Simulation
Performance optimisation with GraphQL
Performance optimisation with GraphQLPerformance optimisation with GraphQL
Performance optimisation with GraphQL
yann_s
TuleapCon 2017-STMicroelectronics-Case-Study
TuleapCon 2017-STMicroelectronics-Case-StudyTuleapCon 2017-STMicroelectronics-Case-Study
TuleapCon 2017-STMicroelectronics-Case-Study
Tuleap
Matlab Assignment Experts Research Help
Matlab Assignment Experts Research HelpMatlab Assignment Experts Research Help
Matlab Assignment Experts Research Help
Matlab Simulation
AWTW - Automated Web Translation Workflow
AWTW - Automated Web Translation WorkflowAWTW - Automated Web Translation Workflow
AWTW - Automated Web Translation Workflow
stany.van.gelder

Similar to GraphQL - Missing Link In REST (20)

GraphQL.net
GraphQL.netGraphQL.net
GraphQL.net
Tyler Ayers
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays
GraphQL over REST at Reactathon 2018
GraphQL over REST at Reactathon 2018GraphQL over REST at Reactathon 2018
GraphQL over REST at Reactathon 2018
Sashko Stubailo
Modular GraphQL with Schema Stitching
Modular GraphQL with Schema StitchingModular GraphQL with Schema Stitching
Modular GraphQL with Schema Stitching
Sashko Stubailo
React Flux to GraphQL
React Flux to GraphQLReact Flux to GraphQL
React Flux to GraphQL
Turadg Aleahmad
GraphQL-ify your APIs - Devoxx UK 2021
 GraphQL-ify your APIs - Devoxx UK 2021 GraphQL-ify your APIs - Devoxx UK 2021
GraphQL-ify your APIs - Devoxx UK 2021
Soham Dasgupta
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything togetherSashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
React Conf Brasil
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL Stack
Sashko Stubailo
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Hafiz Ismail
Marco Liberati - Graph analytics
Marco Liberati - Graph analyticsMarco Liberati - Graph analytics
Marco Liberati - Graph analytics
Codemotion
GraphQL ワ GraphDB
GraphQL ワ GraphDBGraphQL ワ GraphDB
GraphQL ワ GraphDB
GraphRM
Create GraphQL server with apolloJS
Create GraphQL server with apolloJSCreate GraphQL server with apolloJS
Create GraphQL server with apolloJS
Jonathan Jalouzot
GraphQL for Native Apps
GraphQL for Native AppsGraphQL for Native Apps
GraphQL for Native Apps
Emanuele Di Saverio
GraphQL API Crafts presentation
GraphQL API Crafts presentationGraphQL API Crafts presentation
GraphQL API Crafts presentation
Sudheer J
Graphql presentation
Graphql presentationGraphql presentation
Graphql presentation
Vibhor Grover
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
Phil Wilkins
Harnessing the Power of GraphQL in WordPress
Harnessing the Power of GraphQL in WordPressHarnessing the Power of GraphQL in WordPress
Harnessing the Power of GraphQL in WordPress
Sandip Basnet
Social Network
Social NetworkSocial Network
Social Network
SiliconPrime
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
Rodrigo Prates
Elixir + GraphQL = Absinthe 2019.04.10
Elixir + GraphQL = Absinthe 2019.04.10Elixir + GraphQL = Absinthe 2019.04.10
Elixir + GraphQL = Absinthe 2019.04.10
Alexander Knowles
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays
GraphQL over REST at Reactathon 2018
GraphQL over REST at Reactathon 2018GraphQL over REST at Reactathon 2018
GraphQL over REST at Reactathon 2018
Sashko Stubailo
Modular GraphQL with Schema Stitching
Modular GraphQL with Schema StitchingModular GraphQL with Schema Stitching
Modular GraphQL with Schema Stitching
Sashko Stubailo
React Flux to GraphQL
React Flux to GraphQLReact Flux to GraphQL
React Flux to GraphQL
Turadg Aleahmad
GraphQL-ify your APIs - Devoxx UK 2021
 GraphQL-ify your APIs - Devoxx UK 2021 GraphQL-ify your APIs - Devoxx UK 2021
GraphQL-ify your APIs - Devoxx UK 2021
Soham Dasgupta
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything togetherSashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
React Conf Brasil
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL Stack
Sashko Stubailo
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Hafiz Ismail
Marco Liberati - Graph analytics
Marco Liberati - Graph analyticsMarco Liberati - Graph analytics
Marco Liberati - Graph analytics
Codemotion
GraphQL ワ GraphDB
GraphQL ワ GraphDBGraphQL ワ GraphDB
GraphQL ワ GraphDB
GraphRM
Create GraphQL server with apolloJS
Create GraphQL server with apolloJSCreate GraphQL server with apolloJS
Create GraphQL server with apolloJS
Jonathan Jalouzot
GraphQL API Crafts presentation
GraphQL API Crafts presentationGraphQL API Crafts presentation
GraphQL API Crafts presentation
Sudheer J
Graphql presentation
Graphql presentationGraphql presentation
Graphql presentation
Vibhor Grover
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
Phil Wilkins
Harnessing the Power of GraphQL in WordPress
Harnessing the Power of GraphQL in WordPressHarnessing the Power of GraphQL in WordPress
Harnessing the Power of GraphQL in WordPress
Sandip Basnet
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
Rodrigo Prates
Elixir + GraphQL = Absinthe 2019.04.10
Elixir + GraphQL = Absinthe 2019.04.10Elixir + GraphQL = Absinthe 2019.04.10
Elixir + GraphQL = Absinthe 2019.04.10
Alexander Knowles

Recently uploaded (20)

Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Daniel Donatelli
US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...
US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...
US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...
Thane Heins NOBEL PRIZE WINNING ENERGY RESEARCHER
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptxUNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
KesavanT10
CS3451-OPERATING-SYSTEM NOTES ALL123.pdf
CS3451-OPERATING-SYSTEM NOTES ALL123.pdfCS3451-OPERATING-SYSTEM NOTES ALL123.pdf
CS3451-OPERATING-SYSTEM NOTES ALL123.pdf
PonniS7
Industrial Valves, Instruments Products Profile
Industrial Valves, Instruments Products ProfileIndustrial Valves, Instruments Products Profile
Industrial Valves, Instruments Products Profile
zebcoeng
Turbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdfTurbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdf
Totok Sulistiyanto
Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...
dhanashree78
Taykon-Kalite belgeleri
Taykon-Kalite belgeleriTaykon-Kalite belgeleri
Taykon-Kalite belgeleri
TAYKON
only history of java.pptx real bihind the name java
only history of java.pptx real bihind the name javaonly history of java.pptx real bihind the name java
only history of java.pptx real bihind the name java
mushtaqsaliq9
G8 mini project for alcohol detection and engine lock system with GPS tracki...
G8 mini project for  alcohol detection and engine lock system with GPS tracki...G8 mini project for  alcohol detection and engine lock system with GPS tracki...
G8 mini project for alcohol detection and engine lock system with GPS tracki...
sahillanjewar294
GM Meeting 070225 TO 130225 for 2024.pptx
GM Meeting 070225 TO 130225 for 2024.pptxGM Meeting 070225 TO 130225 for 2024.pptx
GM Meeting 070225 TO 130225 for 2024.pptx
crdslalcomumbai
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVName.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
MerijimArsedelPalmad1
Equipment for Gas Metal Arc Welding Process
Equipment for Gas Metal Arc Welding ProcessEquipment for Gas Metal Arc Welding Process
Equipment for Gas Metal Arc Welding Process
AhmadKamil87
decarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptxdecarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptx
gonzalezolabarriaped
Water Industry Process Automation & Control Monthly - March 2025.pdf
Water Industry Process Automation & Control Monthly - March 2025.pdfWater Industry Process Automation & Control Monthly - March 2025.pdf
Water Industry Process Automation & Control Monthly - March 2025.pdf
Water Industry Process Automation & Control
health safety and environment presentation
health safety and environment presentationhealth safety and environment presentation
health safety and environment presentation
ssuserc606c7
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
ASHISHDESAI85
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
slayshadow705
04 MAINTENANCE OF CONCRETE PAVEMENTS.ppt
04  MAINTENANCE OF CONCRETE PAVEMENTS.ppt04  MAINTENANCE OF CONCRETE PAVEMENTS.ppt
04 MAINTENANCE OF CONCRETE PAVEMENTS.ppt
sreenath seenu
Frankfurt University of Applied Science urkunde
Frankfurt University of Applied Science urkundeFrankfurt University of Applied Science urkunde
Frankfurt University of Applied Science urkunde
Lisa Emerson
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2Best KNow  Hydrogen Fuel Production in the World The cost in USD kwh for H2
Best KNow Hydrogen Fuel Production in the World The cost in USD kwh for H2
Daniel Donatelli
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptxUNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
KesavanT10
CS3451-OPERATING-SYSTEM NOTES ALL123.pdf
CS3451-OPERATING-SYSTEM NOTES ALL123.pdfCS3451-OPERATING-SYSTEM NOTES ALL123.pdf
CS3451-OPERATING-SYSTEM NOTES ALL123.pdf
PonniS7
Industrial Valves, Instruments Products Profile
Industrial Valves, Instruments Products ProfileIndustrial Valves, Instruments Products Profile
Industrial Valves, Instruments Products Profile
zebcoeng
Turbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdfTurbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdf
Totok Sulistiyanto
Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...Air pollution is contamination of the indoor or outdoor environment by any ch...
Air pollution is contamination of the indoor or outdoor environment by any ch...
dhanashree78
Taykon-Kalite belgeleri
Taykon-Kalite belgeleriTaykon-Kalite belgeleri
Taykon-Kalite belgeleri
TAYKON
only history of java.pptx real bihind the name java
only history of java.pptx real bihind the name javaonly history of java.pptx real bihind the name java
only history of java.pptx real bihind the name java
mushtaqsaliq9
G8 mini project for alcohol detection and engine lock system with GPS tracki...
G8 mini project for  alcohol detection and engine lock system with GPS tracki...G8 mini project for  alcohol detection and engine lock system with GPS tracki...
G8 mini project for alcohol detection and engine lock system with GPS tracki...
sahillanjewar294
GM Meeting 070225 TO 130225 for 2024.pptx
GM Meeting 070225 TO 130225 for 2024.pptxGM Meeting 070225 TO 130225 for 2024.pptx
GM Meeting 070225 TO 130225 for 2024.pptx
crdslalcomumbai
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVName.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Name.docxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
MerijimArsedelPalmad1
Equipment for Gas Metal Arc Welding Process
Equipment for Gas Metal Arc Welding ProcessEquipment for Gas Metal Arc Welding Process
Equipment for Gas Metal Arc Welding Process
AhmadKamil87
decarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptxdecarbonization steel industry rev1.pptx
decarbonization steel industry rev1.pptx
gonzalezolabarriaped
health safety and environment presentation
health safety and environment presentationhealth safety and environment presentation
health safety and environment presentation
ssuserc606c7
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
ASHISHDESAI85
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
Structural QA/QC Inspection in KRP 401600 | Copper Processing Plant-3 (MOF-3)...
slayshadow705
04 MAINTENANCE OF CONCRETE PAVEMENTS.ppt
04  MAINTENANCE OF CONCRETE PAVEMENTS.ppt04  MAINTENANCE OF CONCRETE PAVEMENTS.ppt
04 MAINTENANCE OF CONCRETE PAVEMENTS.ppt
sreenath seenu
Frankfurt University of Applied Science urkunde
Frankfurt University of Applied Science urkundeFrankfurt University of Applied Science urkunde
Frankfurt University of Applied Science urkunde
Lisa Emerson

GraphQL - Missing Link In REST

  • 1. GRAPHQL A Missing link in REST Anubolu Sreekanth @Tataatsu Idealabs https://github.com/sreekanth-anubolu
  • 2. What is GraphQL? A query language for API Ask for what you need, get exactly that
  • 3. Misconceptions about GraphQL GraphQL is not a Graph DB technology GraphQL is not replacement of REST It is not tied to any framework / language Security Authentication approach is same as REST
  • 4. Existing issues in REST? First of all REST is great Issues and Gaps Endless Endpoints (3500 APIs onTwitter) Hard to maintainVersioning Frontend Developers always find it hard Multiple Roundtrips Over fetching Data Not agile enough
  • 6. Lets try to build API for simple News Feed UI Roundtrips are too many
  • 7. Solution: Build new API that is specific to this view. SolvedTADAAAA But, this API is tightly coupled to the UI
  • 8. Now Designer says lets not show tags, instead author IMG We May Not: Mobile Apps are already consuming API So, for the new UI, we end-up over fetching data in order to support backtracking. - Not a good approach. Build new version API UI will be changed. Should we modify the API? Wouldnt it be nice if we get what we request?
  • 9. Too Many UI iterations Developers look at Designers
  • 10. So, REST is not greatly adoptable for rapid development. Building new APIs for every change involves effort and also increases maintenance. Very soon API maintenance becomes complex.
  • 11. Developer Friendliness Its hard for new developers to understand the evolved API. We have to maintain documentation, for everyAPI we build. Ex: Swagger Effort Involved to document. Frontend developers should always wait for Backend to complete and it slows down the development speed.
  • 12. So its clear that these are the common issues on REST Endless Endpoints Hard to maintainVersioning Multiple Roundtrips Over fetching Data Not agile enough Frontend Developers always find it hard
  • 13. Well GraphQL will address all of that. GraphQL A Missing Link in REST
  • 14. GraphQL A Query Language for API GraphQL is a data query language open-sourced by Facebook in 2015, internalized in Facebook back in 2012. Today all Facebook mobile devices/clients are powered by GraphQL. GraphQL is built by keeping single endpoint in mind. It follows a strict schematic and type system approach. Queries should be written considering the Schema andTypes
  • 15. How it works? It is a beautiful query language, which lets us query for what we want and response is ordered in same structure as we queried.
  • 18. GraphQL doesn't stop us from talking to other services
  • 19. Important Features and Batteries of GraphQL Dataloader Server side caching and Batch Query Processing Subscribing to Server Side Events GraphiQL Browser based IDE for writing queries Built-in documentation support with GraphiQL Great support to many languages Apollo for Angular/React Great Performance Support for Android/IOS
  • 21. Benefits of using GraphQL Single Endpoint Reduced Roundtrips Faster than before Can Batch Multiple Queries No Over/Under fetching, get what you want Freedom to front-end developers Version free Productive Backward compatibility Results Structured as Queried
  • 22. GraphQL is platform agnostic JavaScript/node-js (express-graphql for backend andApollo GraphQL for client apps likeAngular/React/Vue/Polymer.. etc.) Java Python C#/.NET PHP GO Erlang Groovy Ruby Scala
  • 23. Who embraced the power of GraphQL?
  • 24. Thanks Questions? Email - anubolusreekanth@gmail.com Demo link - https://github.com/sreekanth-anubolu/graphql-node-sqlite