Add a presentation about GraphQL
This commit is contained in:
parent
5f6ea226a3
commit
661c822219
95
slides/whygraphql.slide
Normal file
95
slides/whygraphql.slide
Normal file
@ -0,0 +1,95 @@
|
||||
Why GraphQL
|
||||
GraphQL is the future of APIs
|
||||
Tags: GraphQL, API, GoLang, Postgres
|
||||
|
||||
Vikram Rangnekar
|
||||
https://twitter.com/@dosco
|
||||
|
||||
* Trends, Why APIs are Important
|
||||
|
||||
- An API first world
|
||||
- Rise of API only startups
|
||||
- Rise of integrations
|
||||
- Rise of fullstack developers
|
||||
- Rise of Single-Page-Apps
|
||||
|
||||
* Web Development Today
|
||||
|
||||
A big part of web development is building CRUD APIs to read
|
||||
update and delete things from a database.
|
||||
|
||||
Get all products that belong to user 5
|
||||
.link http://your-startup.com/apis/v1/users/5/products
|
||||
|
||||
Another way to do this
|
||||
.link http://your-startup.com/apis/v1/products?user_id=5
|
||||
|
||||
Maybe you just need only cheaper products
|
||||
.link http://your-startup.com/apis/v1/products?user_id=5&price_under=12
|
||||
|
||||
* So what's the problem here?
|
||||
|
||||
- Too many decisions no real standards
|
||||
- Harder to be consistant
|
||||
- Rinse and repeat for every new API
|
||||
- Too much data over the wire
|
||||
- Boring, we rather work on more interesting things
|
||||
- Slows down dev. cycles
|
||||
|
||||
* GraphQL
|
||||
|
||||
query {
|
||||
user(id: 5) {
|
||||
|
||||
products {
|
||||
id
|
||||
name
|
||||
photo : image
|
||||
|
||||
customers {
|
||||
name
|
||||
email
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
* Perceived bad parts of GraphQL
|
||||
|
||||
- Perceived as new and shiny
|
||||
- Not cache friendly (Not true)
|
||||
- Only best data fetching
|
||||
- New frameworks to learn
|
||||
- Is it just an API gateway?
|
||||
- Write more code
|
||||
|
||||
* Super Graph - An instant GraphQL API for Postgres
|
||||
|
||||
- GraphQL without writing any code
|
||||
- Automatically learns your database
|
||||
- Full text search, Aggregations, etc
|
||||
- Supports Rails cookies and JWT tokens
|
||||
- Join with remote REST APIs
|
||||
- Highly optimized and fast Postgres SQL queries
|
||||
- High performance GO codebase
|
||||
- Tiny docker image and low memory requirements
|
||||
|
||||
* Let's talk about Postgres DB
|
||||
|
||||
- Atomicity, Consistency, Isolation, and Durability
|
||||
- Full support for JSON
|
||||
- Full-text search
|
||||
- Graph DB (WITH RESURSIVE clause)
|
||||
- Timeseries DB (WINDOW functions)
|
||||
- GIS Location DB (PostGIS)
|
||||
- Custom Columns (Bloomfilter, etc)
|
||||
- Nearest Neighbour Searches (GIST Index)
|
||||
- Row level security
|
||||
- Versioning support
|
||||
|
||||
All your micro-services in one
|
||||
|
||||
* Super Graph gives Fullstack Devs superpowers
|
||||
|
||||
|
||||
.iframe https://giphy.com/gifs/3o6ZsYzuLyRfSGX4f6/html5 500 900
|
Loading…
Reference in New Issue
Block a user