The internet is driven by APIs. Software is able to be queried, interconnected, and presented to you thanks to APIs. This week on AzureFunBytes we'll focus on using GraphQL. GraphQL is a query language and server-side runtime for APIs that allows you to reduce the "over-fetching" problem of querying data. GraphQL provides a way to pull data from a number of data sources with only one call to your API.

From the GraphQL website:

GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.

Let's say you're working with an app that requires four different points of data in order to present information to your customers. In a REST API you'd need to make four different calls to this API. In the case of GraphQL, you can make a single call to the GraphQL service to access all four of those data points.

To help me understand more about GraphQL, I have queried Hasura Developer Advocate Adron Hall for assistance. Adron comes with years of experience as a coder, a founder, a messenger, and someone who loves to recon what's new in software. You can find Adron on GitHub, Katacoda, Dev.to, and his own blog Composite Thrashing Code.

Adron has the following agenda for this week:

* GraphQL + Hasura - Origins.
* Hasura & Azure - How he can get started with that.
* Dev Workflow + CLI
* Migrations, Metadata, and Seeding
* Local + Prod Infrastructure as Code (i.e. terraform)

So join us this week to learn how we can get the data we need!

Learn about Azure fundamentals with me!

00:02:32 - Remembering Abel Wang
00:04:39 - Let's meet Adron
00:08:55 - Get to know GraphQL
00:13:37 - GraphiQL and VS Code Extension
00:18:20 - Hasura + Terraform + Azure
00:21:18 - Data mutation
00:28:04 - Working with data sources
00:50:11 - Starting a local GraphQL server

#graphql #api 

Intro to GraphQL
4.65 GEEK