Articles
Hasura has just released their managed cloud service based on the popular Hasura GraphQL engine. With Hasura Cloud you can offload many of the operational concerns that hosting a GraphQL server requires, like maintaining servers rate-limiting, high-availability, monitoring, tracing, and caching. Hasura cloud adds support for caching with a @cache directive that can be added to GraphQL queries making it like a CDN for dynamic data. Check it out to learn more about how Hasura Cloud makes the GraphQL server an invisible part of your infrastructure.
Data modelling is an necessary skill at all levels of the software development stack. Typically it's done prior or during implementation of services. In this piece, Andrew does an interesting exercise of doing the reverse – deriving a GraphQL data model by looking at single screen or page from an app. Read along if you're looking to level up your data modelling skills or have a better understanding of the mapping between UIs and a GraphQL API.
Tools
StackHawk is an automated security testing service that works by scanning and detecting security bugs and vulnerabilities in an application. In this article, Adam Baldwin shows how to use StackHawk to detect vulnerabilities in a GraphQL server. The cloud service works in conjunction with a docker container that can be executed locally against a running GraphQL server and generates a report in the StackHawk UI. The approach can be integrated into CI/CD pipelines to catch vulnerabilities before they reach production.
Genql translates typed code into GraphQL queries, enabling you to get auto-completion and validation for your GraphQL queries. In contrast to the common approach of writing GraphQL query strings, Genql generates a TypeScript client. Genql benefits include auto-completion when writing queries, type validation, a built-in GraphQL client and support for integration with other GraphQL clients.
Tutorials
In this tutorial, Jamie shows how to build forms using Next.js and GrpahCMS. It works by defining the form fields dynamically via GraphCMS, rendering the form using Next.js, and using GraphCMS to handle submissions.