SlideShare a Scribd company logo
GraphQL
Martin Pham - CTO Fornace Srl
🤩
Real-time programming
A loooong
story
between
client and
server
Who works on server-side applications? How
many Server APIs you've created until now 🤩?
Have you ever written API documentations? and
update it frequently?
And client-side developers, how many times you
worked with Remote APIs? Tell me how you were
working with undocumented APIs 😱
And how you handle the slow connection / or
even offline?
A E
B
C
D
API
CHALLENGES
D.
User doesn't want to wait
1 second to see the
update. He wants now,
NOW, NAOHHH 😟
Instant response
E.
Easy to understand, easy to
consume. Develop with smiles,
not with tears.
Developer friendly
B.
User would like to see all notes
he created on cloud, even when
he's on an airplane. He also
want to add some notes and
sync it with cloud later.
Connectivity
A.
A User has relationship with his
preferred Store, which has
relationship with its City, which
has relationship with other
Users who live in this City,
which ... blabla...
Data relationships
C.
We have a LiveGame today, how we could adjust
our system to fit 100.000 concurrent users?
Scalable
A E
B
C
D
REQUIREMENTS
D.
REALTIME
COLLABORATIONS
Instant response
E.
IMPLEMENTATIONS &
DOCUMENTATIONS
Developer friendly
B.
OFFLINE SUPPORT,
WITH RE-SYNC
ABILITY
Connectivity
A.
FLEXIBLE
RELATIONSHIP
QUERY
Data relationships
C.
FLEXIBLE INFRASTRUCTURES
Scalable
WHAT WE ARE DOING?
REST
REPRESENTATIONAL STATE TRANSFER
Using API endpoints, each endpoint serves
different purpose.
SSE
SERVER-SENT EVENTS
Client keeps a long request to server, and
check every time server issues messages.
REST & SSE
-F*cking simple 😎.
-Hell of 1000 endpoints.
-Missing or Not up-to-date
documentations.
-SSE lacking support,
polyfills are very bad.
A E
B
C
D
SO?
D.
REALTIME
COLLABORATIONS
Instant response
E.
IMPLEMENTATIONS &
DOCUMENTATIONS
Developer friendly
B.
OFFLINE SUPPORT,
WITH RE-SYNC
ABILITY
Connectivity
A.
FLEXIBLE
RELATIONSHIP
QUERY
Data relationships
C.
FLEXIBLE INFRASTRUCTURES
Scalable
NOT SUPPORTED
IT HURTS
NOT STABLE
WE'RE ALL LAZY
SPAGHETTI CODE
We need
something
Facebook
We were having the same problems.
Then some lazy developers created GraphQL
for fun, and now it's serving 2.7 billion people.
Wanna try?
WHERE PEOPLE WASTE THEIR TIME
GraphQL
-Don't be fool by QL - query language
-Designed for API
-Query, mutation and realtime subscribe
-Self documented
-Don't worry, much more simple 🥰
Definition
-GraphQL Schema
-Ball object has x, y, z and size
-Query balls will return list of Ball
-Query addBall with ballData (type Ball) as
param, will return Boolean
Definition
-Easy to learn, easy to work.
-Everything has Type: Enum, String, Int,
Object,...
-Built-in Type validation.
-Mark deprecations easily.
-Provide directives for dynamic queries.
-From Schema to Code without pain.
Query &
Mutate data
-What you ask is What you get
-What you design is What you document
Subscription
- Realtime updates made simple
Resolver
- Define handler for every node of query
Apollo
GraphQL
Even easier for GraphQL works
A E
B
C
D
SO?
D.
REALTIME
COLLABORATIONS
Instant response
E.
IMPLEMENTATIONS &
DOCUMENTATIONS
Developer friendly
B.
OFFLINE SUPPORT,
WITH RE-SYNC
ABILITY
Connectivity
A.
FLEXIBLE
RELATIONSHIP
QUERY
Data relationships
C.
FLEXIBLE INFRASTRUCTURES
Scalable
OF COURSE!
YEAH!
EASY
SURE!
YOU WILL LOVE IT
DevTools
-Interactive playground to test GraphQL queries
-Apollo server & client libraries
-React friendly
-Native support for all client platforms
-Huge community support
Hooks supported!
Let's get our hands dirty
We create a React application, let users
play with balls. All ball data will be
saved on server.
(not wet)
All balls are provided from Pornhub
Gaio Giulio Cesare
GraphQL helped me to dominate
Roman politics, to become one of the
greatest military minds in history, and
to sleep with Cleopatra 😻
FULL STACK DEVELOPER
Thank you!

More Related Content

What's hot

apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays
 
apidays LIVE Paris 2021 - Localizing OpenAPI Specification by Olga Baybakova,...
apidays LIVE Paris 2021 - Localizing OpenAPI Specification by Olga Baybakova,...apidays LIVE Paris 2021 - Localizing OpenAPI Specification by Olga Baybakova,...
apidays LIVE Paris 2021 - Localizing OpenAPI Specification by Olga Baybakova,...
apidays
 
Aiman
AimanAiman
Aiman
Aiman Khan
 
Create smarter bot enabled apps with agilepoint nx
Create smarter bot enabled apps with agilepoint nxCreate smarter bot enabled apps with agilepoint nx
Create smarter bot enabled apps with agilepoint nx
Peter Cheung
 
Api guide
Api guide Api guide
Api guide
Deepak Rai
 
GraphQL Will Do To REST What JSON Did To XML
GraphQL Will Do To REST What JSON Did To XMLGraphQL Will Do To REST What JSON Did To XML
GraphQL Will Do To REST What JSON Did To XML
Roy Derks
 
API-first development
API-first developmentAPI-first development
API-first development
Vasco Veloso
 
Api First Design
Api First DesignApi First Design
Api First Design
Klaus Peter Laube
 
What Postman Did for a CEO Who Can’t Code by Craig Balkin
What Postman Did for a CEO Who Can’t Code by Craig BalkinWhat Postman Did for a CEO Who Can’t Code by Craig Balkin
What Postman Did for a CEO Who Can’t Code by Craig Balkin
Postman
 
Beautiful PhoneGap Apps
Beautiful PhoneGap AppsBeautiful PhoneGap Apps
Beautiful PhoneGap Apps
Terry Ryan
 
Babbel hiring at TechStartupJobs Fair Berlin Autumn 2015
Babbel hiring at TechStartupJobs Fair Berlin Autumn 2015Babbel hiring at TechStartupJobs Fair Berlin Autumn 2015
Babbel hiring at TechStartupJobs Fair Berlin Autumn 2015
TechMeetups
 
Learn how to build Functional Reactive Applications with Elm, Node.js and Inf...
Learn how to build Functional Reactive Applications with Elm, Node.js and Inf...Learn how to build Functional Reactive Applications with Elm, Node.js and Inf...
Learn how to build Functional Reactive Applications with Elm, Node.js and Inf...
J On The Beach
 
Angular Routing - Angular Hack Day Melbourne 2019
Angular Routing - Angular Hack Day Melbourne 2019Angular Routing - Angular Hack Day Melbourne 2019
Angular Routing - Angular Hack Day Melbourne 2019
Jernej Kavka (JK)
 
apidays LIVE London 2021 - Human-centred API Governance by Arnaud Lauret, Nat...
apidays LIVE London 2021 - Human-centred API Governance by Arnaud Lauret, Nat...apidays LIVE London 2021 - Human-centred API Governance by Arnaud Lauret, Nat...
apidays LIVE London 2021 - Human-centred API Governance by Arnaud Lauret, Nat...
apidays
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
Home automation with javascript
Home automation with javascriptHome automation with javascript
Home automation with javascript
Arnav Gupta
 
PyCon PL 2014 executable api
PyCon PL 2014   executable apiPyCon PL 2014   executable api
PyCon PL 2014 executable api
Wojtek Erbetowski
 
Speed Welshpool - Transport Technology, Realtime, PODs and APIs
Speed Welshpool - Transport Technology, Realtime, PODs and APIsSpeed Welshpool - Transport Technology, Realtime, PODs and APIs
Speed Welshpool - Transport Technology, Realtime, PODs and APIs
george_edwards
 
“Fighting with giants - GraphQL soft adoption at Revolut” by Andrii Los
“Fighting with giants - GraphQL soft adoption at Revolut” by Andrii Los“Fighting with giants - GraphQL soft adoption at Revolut” by Andrii Los
“Fighting with giants - GraphQL soft adoption at Revolut” by Andrii Los
IlyaDmitriev11
 

What's hot (19)

apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
 
apidays LIVE Paris 2021 - Localizing OpenAPI Specification by Olga Baybakova,...
apidays LIVE Paris 2021 - Localizing OpenAPI Specification by Olga Baybakova,...apidays LIVE Paris 2021 - Localizing OpenAPI Specification by Olga Baybakova,...
apidays LIVE Paris 2021 - Localizing OpenAPI Specification by Olga Baybakova,...
 
Aiman
AimanAiman
Aiman
 
Create smarter bot enabled apps with agilepoint nx
Create smarter bot enabled apps with agilepoint nxCreate smarter bot enabled apps with agilepoint nx
Create smarter bot enabled apps with agilepoint nx
 
Api guide
Api guide Api guide
Api guide
 
GraphQL Will Do To REST What JSON Did To XML
GraphQL Will Do To REST What JSON Did To XMLGraphQL Will Do To REST What JSON Did To XML
GraphQL Will Do To REST What JSON Did To XML
 
API-first development
API-first developmentAPI-first development
API-first development
 
Api First Design
Api First DesignApi First Design
Api First Design
 
What Postman Did for a CEO Who Can’t Code by Craig Balkin
What Postman Did for a CEO Who Can’t Code by Craig BalkinWhat Postman Did for a CEO Who Can’t Code by Craig Balkin
What Postman Did for a CEO Who Can’t Code by Craig Balkin
 
Beautiful PhoneGap Apps
Beautiful PhoneGap AppsBeautiful PhoneGap Apps
Beautiful PhoneGap Apps
 
Babbel hiring at TechStartupJobs Fair Berlin Autumn 2015
Babbel hiring at TechStartupJobs Fair Berlin Autumn 2015Babbel hiring at TechStartupJobs Fair Berlin Autumn 2015
Babbel hiring at TechStartupJobs Fair Berlin Autumn 2015
 
Learn how to build Functional Reactive Applications with Elm, Node.js and Inf...
Learn how to build Functional Reactive Applications with Elm, Node.js and Inf...Learn how to build Functional Reactive Applications with Elm, Node.js and Inf...
Learn how to build Functional Reactive Applications with Elm, Node.js and Inf...
 
Angular Routing - Angular Hack Day Melbourne 2019
Angular Routing - Angular Hack Day Melbourne 2019Angular Routing - Angular Hack Day Melbourne 2019
Angular Routing - Angular Hack Day Melbourne 2019
 
apidays LIVE London 2021 - Human-centred API Governance by Arnaud Lauret, Nat...
apidays LIVE London 2021 - Human-centred API Governance by Arnaud Lauret, Nat...apidays LIVE London 2021 - Human-centred API Governance by Arnaud Lauret, Nat...
apidays LIVE London 2021 - Human-centred API Governance by Arnaud Lauret, Nat...
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
Home automation with javascript
Home automation with javascriptHome automation with javascript
Home automation with javascript
 
PyCon PL 2014 executable api
PyCon PL 2014   executable apiPyCon PL 2014   executable api
PyCon PL 2014 executable api
 
Speed Welshpool - Transport Technology, Realtime, PODs and APIs
Speed Welshpool - Transport Technology, Realtime, PODs and APIsSpeed Welshpool - Transport Technology, Realtime, PODs and APIs
Speed Welshpool - Transport Technology, Realtime, PODs and APIs
 
“Fighting with giants - GraphQL soft adoption at Revolut” by Andrii Los
“Fighting with giants - GraphQL soft adoption at Revolut” by Andrii Los“Fighting with giants - GraphQL soft adoption at Revolut” by Andrii Los
“Fighting with giants - GraphQL soft adoption at Revolut” by Andrii Los
 

Similar to Introduction to GraphQL for beginners

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
 
Data Scenarios 2020: 6 Amazing Transformations
Data Scenarios 2020: 6 Amazing TransformationsData Scenarios 2020: 6 Amazing Transformations
Data Scenarios 2020: 6 Amazing Transformations
Safe Software
 
MongoDB World 2019: In-App Bug Reporting
MongoDB World 2019: In-App Bug ReportingMongoDB World 2019: In-App Bug Reporting
MongoDB World 2019: In-App Bug Reporting
MongoDB
 
Why your APIs should fly first class
Why your APIs should fly first classWhy your APIs should fly first class
Why your APIs should fly first class
LibbySchulze
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
VictorSzoltysek
 
I Love APIs - Oct 2015
I Love APIs - Oct 2015I Love APIs - Oct 2015
I Love APIs - Oct 2015
Mike McNeil
 
CV
CVCV
The API SlideShare for Bankers and Fintech Executives
The API SlideShare for Bankers and Fintech ExecutivesThe API SlideShare for Bankers and Fintech Executives
The API SlideShare for Bankers and Fintech Executives
MX
 
sitNL 2019 - SAP Conversational AI
sitNL 2019 - SAP Conversational AIsitNL 2019 - SAP Conversational AI
sitNL 2019 - SAP Conversational AI
Wim Snoep
 
Serverless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product Developers
Sashko Stubailo
 
The Complete Guide to API Development in 2022.pdf
The Complete Guide to API Development in 2022.pdfThe Complete Guide to API Development in 2022.pdf
The Complete Guide to API Development in 2022.pdf
Concetto Labs
 
What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16
GBG Mumbai
 
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB
 
Empower individuals with autism through coding
Empower individuals with autism through codingEmpower individuals with autism through coding
Empower individuals with autism through coding
livecode
 
C++ programming
C++ programmingC++ programming
201001162_report
201001162_report201001162_report
201001162_report
Shirish Jadav
 
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
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.net
Pankaj Kushwaha
 
Google's serverless journey: past to present
Google's serverless journey: past to presentGoogle's serverless journey: past to present
Google's serverless journey: past to present
wesley chun
 
From API-First to SDK-First
From API-First to SDK-FirstFrom API-First to SDK-First
From API-First to SDK-First
Nordic APIs
 

Similar to Introduction to GraphQL for beginners (20)

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)
 
Data Scenarios 2020: 6 Amazing Transformations
Data Scenarios 2020: 6 Amazing TransformationsData Scenarios 2020: 6 Amazing Transformations
Data Scenarios 2020: 6 Amazing Transformations
 
MongoDB World 2019: In-App Bug Reporting
MongoDB World 2019: In-App Bug ReportingMongoDB World 2019: In-App Bug Reporting
MongoDB World 2019: In-App Bug Reporting
 
Why your APIs should fly first class
Why your APIs should fly first classWhy your APIs should fly first class
Why your APIs should fly first class
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
I Love APIs - Oct 2015
I Love APIs - Oct 2015I Love APIs - Oct 2015
I Love APIs - Oct 2015
 
CV
CVCV
CV
 
The API SlideShare for Bankers and Fintech Executives
The API SlideShare for Bankers and Fintech ExecutivesThe API SlideShare for Bankers and Fintech Executives
The API SlideShare for Bankers and Fintech Executives
 
sitNL 2019 - SAP Conversational AI
sitNL 2019 - SAP Conversational AIsitNL 2019 - SAP Conversational AI
sitNL 2019 - SAP Conversational AI
 
Serverless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product Developers
 
The Complete Guide to API Development in 2022.pdf
The Complete Guide to API Development in 2022.pdfThe Complete Guide to API Development in 2022.pdf
The Complete Guide to API Development in 2022.pdf
 
What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16What new in Android n and Tensor Flow - Updates from Google #IO16
What new in Android n and Tensor Flow - Updates from Google #IO16
 
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
 
Empower individuals with autism through coding
Empower individuals with autism through codingEmpower individuals with autism through coding
Empower individuals with autism through coding
 
C++ programming
C++ programmingC++ programming
C++ programming
 
201001162_report
201001162_report201001162_report
201001162_report
 
GraphQL over REST at Reactathon 2018
GraphQL over REST at Reactathon 2018GraphQL over REST at Reactathon 2018
GraphQL over REST at Reactathon 2018
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.net
 
Google's serverless journey: past to present
Google's serverless journey: past to presentGoogle's serverless journey: past to present
Google's serverless journey: past to present
 
From API-First to SDK-First
From API-First to SDK-FirstFrom API-First to SDK-First
From API-First to SDK-First
 

Recently uploaded

Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
ssuserad3af4
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
devvsandy
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 

Recently uploaded (20)

Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 

Introduction to GraphQL for beginners

  • 1. GraphQL Martin Pham - CTO Fornace Srl 🤩 Real-time programming
  • 2. A loooong story between client and server Who works on server-side applications? How many Server APIs you've created until now 🤩? Have you ever written API documentations? and update it frequently? And client-side developers, how many times you worked with Remote APIs? Tell me how you were working with undocumented APIs 😱 And how you handle the slow connection / or even offline?
  • 3. A E B C D API CHALLENGES D. User doesn't want to wait 1 second to see the update. He wants now, NOW, NAOHHH 😟 Instant response E. Easy to understand, easy to consume. Develop with smiles, not with tears. Developer friendly B. User would like to see all notes he created on cloud, even when he's on an airplane. He also want to add some notes and sync it with cloud later. Connectivity A. A User has relationship with his preferred Store, which has relationship with its City, which has relationship with other Users who live in this City, which ... blabla... Data relationships C. We have a LiveGame today, how we could adjust our system to fit 100.000 concurrent users? Scalable
  • 4. A E B C D REQUIREMENTS D. REALTIME COLLABORATIONS Instant response E. IMPLEMENTATIONS & DOCUMENTATIONS Developer friendly B. OFFLINE SUPPORT, WITH RE-SYNC ABILITY Connectivity A. FLEXIBLE RELATIONSHIP QUERY Data relationships C. FLEXIBLE INFRASTRUCTURES Scalable
  • 5. WHAT WE ARE DOING? REST REPRESENTATIONAL STATE TRANSFER Using API endpoints, each endpoint serves different purpose. SSE SERVER-SENT EVENTS Client keeps a long request to server, and check every time server issues messages.
  • 6. REST & SSE -F*cking simple 😎. -Hell of 1000 endpoints. -Missing or Not up-to-date documentations. -SSE lacking support, polyfills are very bad.
  • 7. A E B C D SO? D. REALTIME COLLABORATIONS Instant response E. IMPLEMENTATIONS & DOCUMENTATIONS Developer friendly B. OFFLINE SUPPORT, WITH RE-SYNC ABILITY Connectivity A. FLEXIBLE RELATIONSHIP QUERY Data relationships C. FLEXIBLE INFRASTRUCTURES Scalable NOT SUPPORTED IT HURTS NOT STABLE WE'RE ALL LAZY SPAGHETTI CODE
  • 9. Facebook We were having the same problems. Then some lazy developers created GraphQL for fun, and now it's serving 2.7 billion people. Wanna try? WHERE PEOPLE WASTE THEIR TIME
  • 10. GraphQL -Don't be fool by QL - query language -Designed for API -Query, mutation and realtime subscribe -Self documented -Don't worry, much more simple 🥰
  • 11. Definition -GraphQL Schema -Ball object has x, y, z and size -Query balls will return list of Ball -Query addBall with ballData (type Ball) as param, will return Boolean
  • 12. Definition -Easy to learn, easy to work. -Everything has Type: Enum, String, Int, Object,... -Built-in Type validation. -Mark deprecations easily. -Provide directives for dynamic queries. -From Schema to Code without pain.
  • 13. Query & Mutate data -What you ask is What you get -What you design is What you document
  • 15. Resolver - Define handler for every node of query
  • 17. A E B C D SO? D. REALTIME COLLABORATIONS Instant response E. IMPLEMENTATIONS & DOCUMENTATIONS Developer friendly B. OFFLINE SUPPORT, WITH RE-SYNC ABILITY Connectivity A. FLEXIBLE RELATIONSHIP QUERY Data relationships C. FLEXIBLE INFRASTRUCTURES Scalable OF COURSE! YEAH! EASY SURE! YOU WILL LOVE IT
  • 18. DevTools -Interactive playground to test GraphQL queries -Apollo server & client libraries -React friendly -Native support for all client platforms -Huge community support Hooks supported!
  • 19. Let's get our hands dirty We create a React application, let users play with balls. All ball data will be saved on server. (not wet) All balls are provided from Pornhub
  • 20.
  • 21. Gaio Giulio Cesare GraphQL helped me to dominate Roman politics, to become one of the greatest military minds in history, and to sleep with Cleopatra 😻 FULL STACK DEVELOPER