GraphQL is a specification for how to talk to an API. It’s typically used over HTTP where the key idea is to
POST a “query” to an HTTP endpoint, instead of hitting different HTTP endpoints for different resources.
GraphQL is designed for developers of web/mobile apps (HTTP clients) to be able to make API calls to fetch the data they need from their backend APIs conveniently.
Hasura has provided a mini course on the basics of GraphQL which will be of interest to anyone who want to get to grips with the open source Graph QL engine.
Hasura’s main product is its Postgre backed GraphQL server, which sports features such as webhook triggers on database events and remote schemas.
n order to use Hasura’s engine it’s obvious that you first have to be familiar with GraphQL. So to make migrating to its product easier Hasura has prepared a mini course on GraphQL’s basics and kindly made it available for free to everyone. So, interested in Hasura’s platform or not, you can still enjoy this quick 2-hour long tutorial.
The topics covered are :
- GraphQL vs RES
- GraphQL queries, mutations, subscription
- Setting up a GraphQL client with Apoll
- Integrating GraphQL queries in your react native ap
- Integrating GraphQL mutations in your app to change data on the server
- Updating local state after a GraphQL mutation (TextInput) using Apollo cach
- Automatic updates to local state and UI after mutation
- Using subscriptions with subscription component
- Building a real-time feed with notifications using mutations and subscriptions
Theory aside, and despite its short time, the course also manages to squeeze in building a realtime todo app using authenticated GraphQL APIs.
Yet again, despite basing on a boilerplate UI built with React Native, the course does not teach React, prefering to remain focused solely on GraphQL. While you can pick up React Native easily if you’re already familiar with React development for the web, if you want more help with React development, combined with REST, Node and GraphQL, look no further than University of Helsinki’s “Full Stack Open” which, as recently reported, has just been released in English too!
If after completing Hasura’s mini course, you want to explore further then you can find the underlying GraphQL engine, which is open source of course, available on Hasura’s github repo, as well as another tutorial, this time on the backend that the React native app used in the course is based upon.