From 661c82221934f5f53fc0426ed76a3b82002b084a Mon Sep 17 00:00:00 2001 From: Vikram Rangnekar Date: Thu, 6 Jun 2019 01:00:16 -0400 Subject: [PATCH] Add a presentation about GraphQL --- slides/whygraphql.slide | 95 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 slides/whygraphql.slide diff --git a/slides/whygraphql.slide b/slides/whygraphql.slide new file mode 100644 index 0000000..5a2e3d1 --- /dev/null +++ b/slides/whygraphql.slide @@ -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 \ No newline at end of file