SlideShare a Scribd company logo
Real-time GraphQL API
Mikhail Asavkin
Real-time GraphQL API
minimum code,
Maximum benefit
Mikhail Asavkin
 Real-time GraphQL API with minimum coding and maximum benefit
4
Skychute
PropTech
Development
Breaking new ground using
software in the property industry.
5
Skychute
PropTech
Development
Breaking new ground using
software in the property industry.
● 5 B2B Products transforming
business of the biggest Property
Developers and Agencies in Australia
6
Skychute
PropTech
Development
Breaking new ground using
software in the property industry.
● 5 B2B Products transforming
business of the biggest Property
Developers and Agencies in Australia
● $10B worth of property sold
7
Skychute
PropTech
Development
Breaking new ground using
software in the property industry.
● 5 B2B Products transforming
business of the biggest Property
Developers and Agencies in Australia
● $10B worth of property sold
● 4 new feature deployments a week
with the team of 2 engineers
8
Skychute
PropTech
Development
Breaking new ground using
software in the property industry.
● 5 B2B Products transforming
business of the biggest Property
Developers and Agencies in Australia
● $10B worth of property sold
● 4 new feature deployments a week
with the team of 2 engineers
● 11 programming languages, 4
technology stacks, all sorts of tests
Soup du jour
Soup du jour
● A quick refresher on GraphQL
Soup du jour
● A quick refresher on GraphQL
● The implications of Real-time API in general
Soup du jour
● A quick refresher on GraphQL
● The implications of Real-time API in general
● Building the Real-time GraphQL API
Soup du jour
● A quick refresher on GraphQL
● The implications of Real-time API in general
● Building the Real-time GraphQL API
● Demo app
Why GraphQL?
 Real-time GraphQL API with minimum coding and maximum benefit
Author info
Post Body Media Stats
Likes User info User info User info
Comments
Comment
Body Media Stats
Sub-comments
User info
GET /posts/123
GET /posts/123/author
GET /posts/123/likes
GET /posts/123/comments
GET /comments/546/comments
GET /comments/674/comments
GET /comments/853/comments
Author info
Post Body Media Stats
Likes User info User info User info
Comments
Comment
Body Media Stats
Sub-comments
User info
What is GraphQL?
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
How it works
How it works
DB
How it works
GraphQL API
DB
How it works
GraphQL API
GraphQL Schema
DB
How it works
GraphQL API
GraphQL Schema
DB
REST
API
Another
GraphQL API
How it works
GraphQL API
GraphQL Schema
DB
REST
API
Another
GraphQL API
Resolvers
How it works
GraphQL API
GraphQL Schema
DB
REST
API
Another
GraphQL API
Resolvers
How it works
GraphQL API
GraphQL Schema
DB
REST
API
Another
GraphQL API
Resolvers
GraphQL Schema language
GraphQL Schema language
GraphQL Schema language
GraphQL Schema language
GraphQL Schema language
GraphQL Schema language
GraphQL Schema language
GraphQL Schema language
GraphQL Schema language
GraphQL Schema language
Layers
Data Model Fields, relationships
Layers
Data Model Fields, relationships
Business model Permissions, rules, triggers
Layers
Data Model Fields, relationships
Business model Permissions, rules, triggers
GraphQL Schema Shape of the API
Layers
Data Model Fields, relationships
Business model Permissions, rules, triggers
GraphQL Schema Shape of the API
Resolvers API Implementation
Layers
Data Model Fields, relationships
Business model Permissions, rules, triggers
GraphQL Schema Shape of the API
Resolvers API Implementation
GraphQL API Backend Façade
Layers
Data Model Fields, relationships
Business model Permissions, rules, triggers
GraphQL Schema Shape of the API
Resolvers API Implementation
GraphQL API Backend Façade
GraphQL Client Frontend data service
Layers
Data Model
Business model
GraphQL Schema
Resolvers
GraphQL API
GraphQL Client
Layers
Generated
Manual
Manual
Manual
Manual
No static checks for Web client
Data Model
Business model
GraphQL Schema
Resolvers
GraphQL API
GraphQL Client
Layers
Generated
Basic permissions
Generated
Generated
None
Manual
Data Model
Business model
GraphQL Schema
Resolvers
GraphQL API
GraphQL Client
Layers
Generated
Manual
Generated
Generated
Generated, type-safe web client
Prisma
Manual
Data Model
Business model
GraphQL Schema
Resolvers
GraphQL API
GraphQL Client
Layers
Generated
Basic permissions, no validation
Generated
Generated
Generated
None
Real-time API implications
Real-time API implications
Page 1
data
Component A
Component B
Page 2
Component A
Component B
Real-time API implications
Page 1
data
Component A
Component B
state
Page 2
Component A
Component B
Service
Observe
Mutate
Realtime API
Building with Prisma.io
Prisma.io
Prisma.io
● Create a schema
Prisma.io
● Create a schema
● Generate Realtime GraphQL API
Prisma.io
● Create a schema
● Generate Realtime GraphQL API
● Play around
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
Prisma.io Takeaway #1
Allows us to build
real-time GraphQL API
without coding.
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
Prisma.io Takeaway #2
Only changes that came
through GraphQL API
are respected in the
real-time API.
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
Prisma.io Takeaway #3
Changes to related
objects will not trigger a
subscription.
Prisma.io
DB
Real-time GraphQL API
SchemaResolvers
Scala
Prisma.io
DB
Real-time GraphQL API
SchemaResolvers
Scala
Prisma.io
DB
Real-time GraphQL API
SchemaResolvers
Prisma + Nexus
Real-time GraphQL API
Permissions ValidationExternal services
NodeJSScala
Describing your schema is easy
API is generated automatically
Real-time features aren’t great
Only a data layer, not BAAS
Prisma.io Summary
Building with Hasura.io
Hasura.io
● Build schema from the database / UI
● Generate GraphQL API
● Test
● Add permissions with filters
● Test
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
Hasura.io Takeaway #1
Real-time API respects
related objects and direct
DB updates
Hasura.io
● Build schema from the database / UI
● Generate GraphQL API
● Test
● Add permissions with filters
● Test
Hasura.io
● Build schema from the database / UI
● Generate GraphQL API
● Test
● Add permissions with filters
● Test
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
Hasura.io Takeaway #2
Allows us to define
permissions without
coding
 Real-time GraphQL API with minimum coding and maximum benefit
 Real-time GraphQL API with minimum coding and maximum benefit
Platform / feature Prisma.io Hasura.io
Schema generation
Resolvers
Real-time
Authentication /
Sign up
Permissions
Validation
Platform / feature Prisma.io Hasura.io
Schema generation
Automatic
Resolvers
Automatic
Real-time Not so great
Authentication /
Sign up
Manual
Permissions Manual
Validation Manual
Platform / feature Prisma.io Hasura.io
Schema generation
Automatic Automatic
Resolvers
Automatic Automatic
Real-time Not so great Great
Authentication /
Sign up
Manual Manual
Permissions Manual Pretty good
Validation Manual Weak
Platform / feature Prisma.io Hasura.io In your dreams
Schema generation
Automatic Automatic Automatic
Resolvers
Automatic Automatic Automatic
Real-time Not so great Great Great
Authentication /
Sign up
Manual Manual Included
Permissions Manual Pretty good Included
Validation Manual Weak Included
Platform / feature Prisma.io Hasura.io RRAA
Schema generation
Automatic Automatic Automatic
Resolvers
Automatic Automatic Automatic
Real-time Not so great Great Great
Authentication /
Sign up
Manual Manual Included
Permissions Manual Pretty good Included
Validation Manual Weak Included
RRAA
RRAA
● Complex filtering, sorting, pagination, search
● Efficient Real-time support
● Zero backend code required (it’s a BAAS!)
● No redeployment for schema changes
● Strongly typed client libraries respecting your schema
● Very secure, extensive permission and validation rules
● Cloud function triggers for extensions
● Of course, GraphQL
● BYO MongoDB Database
RRAA
● Complex filtering, sorting, pagination, search
● Efficient Real-time support
● Zero backend code required (it’s a BAAS!)
● No redeployment for schema changes
● Strongly typed client libraries respecting your schema
● Very secure, extensive permission and validation rules
● Cloud function triggers for extensions
● Of course, GraphQL
● BYO MongoDB Database
RRAA
Live demo app
https://bit.ly/rapwa
Real-time API implications
Page 1
data
Component A
Component B
state
Page 2
Component A
Component B
Service
Observe
Mutate
Realtime API
Join beta
https://bit.ly/nodesydneyRA
Join beta
https://bit.ly/nodesydneyRA
1h/week free
code-level support
Next talks
● May 14th, SydTS “WebAssembly in TS”
● May 22nd, GraphQL Sydney “Live queries”
● ??? , Node JS performance in depth
Keep in touch
@limenutt

More Related Content

What's hot (20)

PDF
GraphQL: The Missing Link Between Frontend and Backend Devs
Sashko Stubailo
 
PDF
Serverless GraphQL for Product Developers
Sashko Stubailo
 
PPTX
Making Angular2 lean and Fast
Vinci Rufus
 
PDF
The Graph-Native Advantage
Neo4j
 
PDF
The Apollo and GraphQL Stack
Sashko Stubailo
 
PDF
Matheus Marsiglio - Isomorphic React + Redux App
React Conf Brasil
 
PPTX
API-first development
Vasco Veloso
 
PDF
Raphael Amorim - Scrating React Fiber
React Conf Brasil
 
PDF
Real-time GraphQL in Angular app
Mikhail Asavkin
 
PDF
React Native - Getting Started
Tracy Lee
 
PDF
Introduction to the Art of API Practice
Bill Doerrfeld
 
PDF
AN EXERCISE IN CLEANER CODE - FROM LEGACY TO MAINTAINABLE
Gavin Pickin
 
PDF
apidays LIVE London 2021 - Consumer-first APIs in Open Banking by Chris Dudle...
apidays
 
PDF
James Baxley - Statically typing your GraphQL app
React Conf Brasil
 
PDF
RxJS - The Basics & The Future
Tracy Lee
 
PPT
API 101 - Understanding APIs
3scale
 
PDF
Algolia's Fury Road to a Worldwide API
Paul-Louis NECH
 
PDF
Ben Kehoe - Serverless Architecture for the Internet of Things
ServerlessConf
 
PDF
MongoDB World 2019: In-App Bug Reporting
MongoDB
 
PDF
Donald Ferguson - Old Programmers Can Learn New Tricks
ServerlessConf
 
GraphQL: The Missing Link Between Frontend and Backend Devs
Sashko Stubailo
 
Serverless GraphQL for Product Developers
Sashko Stubailo
 
Making Angular2 lean and Fast
Vinci Rufus
 
The Graph-Native Advantage
Neo4j
 
The Apollo and GraphQL Stack
Sashko Stubailo
 
Matheus Marsiglio - Isomorphic React + Redux App
React Conf Brasil
 
API-first development
Vasco Veloso
 
Raphael Amorim - Scrating React Fiber
React Conf Brasil
 
Real-time GraphQL in Angular app
Mikhail Asavkin
 
React Native - Getting Started
Tracy Lee
 
Introduction to the Art of API Practice
Bill Doerrfeld
 
AN EXERCISE IN CLEANER CODE - FROM LEGACY TO MAINTAINABLE
Gavin Pickin
 
apidays LIVE London 2021 - Consumer-first APIs in Open Banking by Chris Dudle...
apidays
 
James Baxley - Statically typing your GraphQL app
React Conf Brasil
 
RxJS - The Basics & The Future
Tracy Lee
 
API 101 - Understanding APIs
3scale
 
Algolia's Fury Road to a Worldwide API
Paul-Louis NECH
 
Ben Kehoe - Serverless Architecture for the Internet of Things
ServerlessConf
 
MongoDB World 2019: In-App Bug Reporting
MongoDB
 
Donald Ferguson - Old Programmers Can Learn New Tricks
ServerlessConf
 

Similar to Real-time GraphQL API with minimum coding and maximum benefit (20)

PDF
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays
 
PDF
Introduction to GraphQL for beginners
Martin Pham
 
PDF
Graphql
Niv Ben David
 
PDF
GraphQL and its schema as a universal layer for database access
Connected Data World
 
PDF
API Management for GraphQL
WSO2
 
PDF
The GraphQL Ecosystem in 2018
Nikolas Burk
 
PDF
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
Rob Crowley
 
PPTX
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...
apidays
 
PPTX
Introduction to GraphQL
Rodrigo Prates
 
PPTX
Build the API you want to see in the world
Michelle Garrett
 
PDF
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...
Codemotion
 
PPTX
GraphQL.pptx
Preston Flossy
 
PPTX
GraphQL.pptx
Preston Flossy
 
PPTX
Demand driven Applications with GraphQL
Vinci Rufus
 
PDF
Deploying GraphQL Services as Managed APIs
WSO2
 
PDF
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Codemotion
 
PDF
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Codemotion
 
DOCX
GraphQL Advanced Concepts A Comprehensive Guide.docx
ssuser5583681
 
PPTX
APIdays Helsinki 2019 - Beyond REST: GraphQL API Management with Amit Acharya...
apidays
 
PDF
Intro to GraphQL
Charles Burgess
 
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays
 
Introduction to GraphQL for beginners
Martin Pham
 
Graphql
Niv Ben David
 
GraphQL and its schema as a universal layer for database access
Connected Data World
 
API Management for GraphQL
WSO2
 
The GraphQL Ecosystem in 2018
Nikolas Burk
 
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
Rob Crowley
 
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...
apidays
 
Introduction to GraphQL
Rodrigo Prates
 
Build the API you want to see in the world
Michelle Garrett
 
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...
Codemotion
 
GraphQL.pptx
Preston Flossy
 
GraphQL.pptx
Preston Flossy
 
Demand driven Applications with GraphQL
Vinci Rufus
 
Deploying GraphQL Services as Managed APIs
WSO2
 
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Codemotion
 
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Codemotion
 
GraphQL Advanced Concepts A Comprehensive Guide.docx
ssuser5583681
 
APIdays Helsinki 2019 - Beyond REST: GraphQL API Management with Amit Acharya...
apidays
 
Intro to GraphQL
Charles Burgess
 
Ad

Recently uploaded (20)

PDF
Governing Geospatial Data at Scale: Optimizing ArcGIS Online with FME in Envi...
Safe Software
 
PPTX
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Deploy Faster, Run Smarter: Learn Containers with QNAP
QNAP Marketing
 
PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PPTX
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
PPTX
Practical Applications of AI in Local Government
OnBoard
 
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
PPTX
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
PDF
FME in Overdrive: Unleashing the Power of Parallel Processing
Safe Software
 
PDF
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
PDF
Understanding The True Cost of DynamoDB Webinar
ScyllaDB
 
PPTX
Wondershare Filmora Crack Free Download 2025
josanj305
 
PDF
Draugnet: Anonymous Threat Reporting for a World on Fire
treyka
 
PDF
Kubernetes - Architecture & Components.pdf
geethak285
 
Governing Geospatial Data at Scale: Optimizing ArcGIS Online with FME in Envi...
Safe Software
 
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Deploy Faster, Run Smarter: Learn Containers with QNAP
QNAP Marketing
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
Practical Applications of AI in Local Government
OnBoard
 
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
FME in Overdrive: Unleashing the Power of Parallel Processing
Safe Software
 
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
Understanding The True Cost of DynamoDB Webinar
ScyllaDB
 
Wondershare Filmora Crack Free Download 2025
josanj305
 
Draugnet: Anonymous Threat Reporting for a World on Fire
treyka
 
Kubernetes - Architecture & Components.pdf
geethak285
 
Ad

Real-time GraphQL API with minimum coding and maximum benefit