(Go: >> BACK << -|- >> HOME <<)

SlideShare a Scribd company logo
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 1/37
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 2/37
Breaking REST Chains:
A Fastify & Mercurius Pathway to GraphQL Glory
Luca Del Puppo
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 3/37
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 4/37
Luca Del Puppo
Senior Software Developer
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 5/37
JavaScript enthusiast
TypeScript lover
“Youtuber”
“Writer”
Love sport: running,
hiking
Love animals
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 6/37
Why GraphQL?_
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 7/37
Rest API
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 8/37
Desktop
Browsers
Mobile
Browsers
Other
Browsers
TVs,
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 9/37
SmartWatch
s..
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 10/37
Bill is 22.
He is a Junior Backend
Developer who fights with the
Frontend and Mobile
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 11/37
developers to build a specific
endpoint for every single view,
with just some different fields
but the same logic
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 12/37
Desktop
Browsers
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 13/37
Mobile
Browsers
Other
Browsers
TVs,
SmartWatch
s..
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 14/37
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 15/37
Schema
Queries
Mutations
Subscriptions
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 16/37
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 17/37
You can scale your server "easily"_
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 18/37
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 19/37
But remember
every layer is a cost
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 20/37
Why Mercurius?_
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 21/37
is a high-performance GraphQL adapter for the web
framework
It has many core features and plugins for building world-class
production-ready applications
It supports advanced features out of the box, such as
and Subscriptions
It's entirely Open Source and made available under the MIT license
Fantastic community
Mercurius Fastify
Apollo
Federation specifications
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 22/37
Caching of query parsing and validation
Automatic loader integration to avoid the N+1 problem
Just-In-Time compiler via graphql-jit
Subscriptions
Federation support
Federated subscriptions support
Gateway implementation, including Subscriptions
Batched query support
Customizable persisted queries
Core features_
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 23/37
Today recipe_
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 24/37
. Build a GraphQL server with Mercurius Fastify and JavaScript
2. Convert it to TypeScript
3. Resolve 1+N problem
4. Add Custom Directives or Validations
5. Add Authentication
6. Working with Federation
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 25/37
Let's get our hands dirty_
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 26/37
Conclusion_
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 27/37
Don't hate REST API
Build one use from everyone
Build with Mercurius is a piece of cake
Don't forget, using Mercurius all the Fastify's benefits are there with
you
Be careful with the layers in your Applications
Give the right power to your Frontend Developers
Don't forget to monitor your server
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 28/37
About this presentations_
Slides
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 29/37
Code
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 30/37
Resources to read_
Fastify:
Mercurius:
Nearform Blog:
Backend Caffe:
https://fastify.dev/
https://mercurius.dev/
https://nearform.hashnode.dev/
https://backend.cafe/
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 31/37
Resources to watch_
Nearform:
Adventures in Nodeland:
https://www.youtube.com/@Nearform​
https://www.youtube.com/@adventuresinnodeland
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 32/37
Book_
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 33/37
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 34/37
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 35/37
Luca Del Puppo
@puppo92
Luca Del Puppo
Puppo_92
@puppo
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 36/37
We are hiring
23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 37/37
Thank you!_
Speaker notes

More Related Content

More from Commit University

Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptx
Commit University
 
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PA
Commit University
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Commit University
 
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting for
Commit University
 
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit University
Commit University
 
Component Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfComponent Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdf
Commit University
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Commit University
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
Commit University
 
KMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and SwiftKMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and Swift
Commit University
 
Da Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazioneDa Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazione
Commit University
 
Orchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lcOrchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lc
Commit University
 
Fastify has defeated Lagacy-Code
Fastify has defeated Lagacy-CodeFastify has defeated Lagacy-Code
Fastify has defeated Lagacy-Code
Commit University
 
SwiftUI vs UIKit
SwiftUI vs UIKitSwiftUI vs UIKit
SwiftUI vs UIKit
Commit University
 
Alpine.js: the outsider Javascript framework
Alpine.js: the outsider Javascript frameworkAlpine.js: the outsider Javascript framework
Alpine.js: the outsider Javascript framework
Commit University
 
Modificazione del comportamento: come la Gamification cattura l'attenzione
Modificazione del comportamento: come la Gamification cattura l'attenzioneModificazione del comportamento: come la Gamification cattura l'attenzione
Modificazione del comportamento: come la Gamification cattura l'attenzione
Commit University
 
API moderne e real-time per applicazioni innovative
API moderne e real-time per applicazioni innovativeAPI moderne e real-time per applicazioni innovative
API moderne e real-time per applicazioni innovative
Commit University
 
State manager in Vue.js, from zero to Vuex
State manager in Vue.js, from zero to VuexState manager in Vue.js, from zero to Vuex
State manager in Vue.js, from zero to Vuex
Commit University
 
La leggenda del Magento senza testa
La leggenda del Magento senza testa La leggenda del Magento senza testa
La leggenda del Magento senza testa
Commit University
 
Kubernetes: istruzioni per l'uso
Kubernetes: istruzioni per l'usoKubernetes: istruzioni per l'uso
Kubernetes: istruzioni per l'uso
Commit University
 
Rilasci senza paura (o panico) con Azure DevOps
Rilasci senza paura (o panico) con Azure DevOpsRilasci senza paura (o panico) con Azure DevOps
Rilasci senza paura (o panico) con Azure DevOps
Commit University
 

More from Commit University (20)

Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptx
 
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PA
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
 
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting for
 
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit University
 
Component Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfComponent Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdf
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
 
KMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and SwiftKMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and Swift
 
Da Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazioneDa Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazione
 
Orchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lcOrchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lc
 
Fastify has defeated Lagacy-Code
Fastify has defeated Lagacy-CodeFastify has defeated Lagacy-Code
Fastify has defeated Lagacy-Code
 
SwiftUI vs UIKit
SwiftUI vs UIKitSwiftUI vs UIKit
SwiftUI vs UIKit
 
Alpine.js: the outsider Javascript framework
Alpine.js: the outsider Javascript frameworkAlpine.js: the outsider Javascript framework
Alpine.js: the outsider Javascript framework
 
Modificazione del comportamento: come la Gamification cattura l'attenzione
Modificazione del comportamento: come la Gamification cattura l'attenzioneModificazione del comportamento: come la Gamification cattura l'attenzione
Modificazione del comportamento: come la Gamification cattura l'attenzione
 
API moderne e real-time per applicazioni innovative
API moderne e real-time per applicazioni innovativeAPI moderne e real-time per applicazioni innovative
API moderne e real-time per applicazioni innovative
 
State manager in Vue.js, from zero to Vuex
State manager in Vue.js, from zero to VuexState manager in Vue.js, from zero to Vuex
State manager in Vue.js, from zero to Vuex
 
La leggenda del Magento senza testa
La leggenda del Magento senza testa La leggenda del Magento senza testa
La leggenda del Magento senza testa
 
Kubernetes: istruzioni per l'uso
Kubernetes: istruzioni per l'usoKubernetes: istruzioni per l'uso
Kubernetes: istruzioni per l'uso
 
Rilasci senza paura (o panico) con Azure DevOps
Rilasci senza paura (o panico) con Azure DevOpsRilasci senza paura (o panico) con Azure DevOps
Rilasci senza paura (o panico) con Azure DevOps
 

Recently uploaded

20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
SadikaShaikh7
 
Running a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU ImpactsRunning a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU Impacts
ScyllaDB
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
Dr. Jimmy Schwarzkopf
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
Raphaël Semeteys
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
uuuot
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Hire a private investigator to get cell phone records
Hire a private investigator to get cell phone recordsHire a private investigator to get cell phone records
Hire a private investigator to get cell phone records
HackersList
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Lessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien RiouxLessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien Rioux
crioux1
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
ScyllaDB
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
ScyllaDB
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
SeasiaInfotech2
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
Alpen-Adria-Universität
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 

Recently uploaded (20)

20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
 
Running a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU ImpactsRunning a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU Impacts
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Hire a private investigator to get cell phone records
Hire a private investigator to get cell phone recordsHire a private investigator to get cell phone records
Hire a private investigator to get cell phone records
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Lessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien RiouxLessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien Rioux
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 

Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf

  • 1. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 1/37
  • 2. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 2/37 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory Luca Del Puppo
  • 3. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 3/37
  • 4. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 4/37 Luca Del Puppo Senior Software Developer
  • 5. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 5/37 JavaScript enthusiast TypeScript lover “Youtuber” “Writer” Love sport: running, hiking Love animals
  • 6. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 6/37 Why GraphQL?_
  • 7. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 7/37 Rest API
  • 8. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 8/37 Desktop Browsers Mobile Browsers Other Browsers TVs,
  • 9. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 9/37 SmartWatch s..
  • 10. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 10/37 Bill is 22. He is a Junior Backend Developer who fights with the Frontend and Mobile
  • 11. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 11/37 developers to build a specific endpoint for every single view, with just some different fields but the same logic
  • 12. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 12/37 Desktop Browsers
  • 13. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 13/37 Mobile Browsers Other Browsers TVs, SmartWatch s..
  • 14. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 14/37
  • 15. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 15/37 Schema Queries Mutations Subscriptions
  • 16. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 16/37
  • 17. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 17/37 You can scale your server "easily"_
  • 18. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 18/37
  • 19. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 19/37 But remember every layer is a cost
  • 20. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 20/37 Why Mercurius?_
  • 21. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 21/37 is a high-performance GraphQL adapter for the web framework It has many core features and plugins for building world-class production-ready applications It supports advanced features out of the box, such as and Subscriptions It's entirely Open Source and made available under the MIT license Fantastic community Mercurius Fastify Apollo Federation specifications
  • 22. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 22/37 Caching of query parsing and validation Automatic loader integration to avoid the N+1 problem Just-In-Time compiler via graphql-jit Subscriptions Federation support Federated subscriptions support Gateway implementation, including Subscriptions Batched query support Customizable persisted queries Core features_
  • 23. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 23/37 Today recipe_
  • 24. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 24/37 . Build a GraphQL server with Mercurius Fastify and JavaScript 2. Convert it to TypeScript 3. Resolve 1+N problem 4. Add Custom Directives or Validations 5. Add Authentication 6. Working with Federation
  • 25. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 25/37 Let's get our hands dirty_
  • 26. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 26/37 Conclusion_
  • 27. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 27/37 Don't hate REST API Build one use from everyone Build with Mercurius is a piece of cake Don't forget, using Mercurius all the Fastify's benefits are there with you Be careful with the layers in your Applications Give the right power to your Frontend Developers Don't forget to monitor your server
  • 28. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 28/37 About this presentations_ Slides
  • 29. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 29/37 Code
  • 30. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 30/37 Resources to read_ Fastify: Mercurius: Nearform Blog: Backend Caffe: https://fastify.dev/ https://mercurius.dev/ https://nearform.hashnode.dev/ https://backend.cafe/
  • 31. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 31/37 Resources to watch_ Nearform: Adventures in Nodeland: https://www.youtube.com/@Nearform​ https://www.youtube.com/@adventuresinnodeland
  • 32. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 32/37 Book_
  • 33. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 33/37
  • 34. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 34/37
  • 35. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 35/37 Luca Del Puppo @puppo92 Luca Del Puppo Puppo_92 @puppo
  • 36. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 36/37 We are hiring
  • 37. 23/02/24, 10:45 Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory https://slides.com/puppo92/breaking-rest-chains-a-fastify-mercurius-pathway-to-graphql-glory/fullscreen 37/37 Thank you!_ Speaker notes