How to get started with GraphQL

Learn the key concepts behind GraphQL and how to use it to develop efficient and evolvable APIs

Become An Insider

Sign up now and get FREE access to hundreds of Insider articles, guides, reviews, interviews, blogs, and other premium content. Learn more.

GraphQL, developed by Facebook and released as an open standard for all to use, provides a way to create and consume web-based APIs that is designed to be an alternative to REST APIs. With GraphQL, queries and returned data use formal schemas and a type system to guarantee consistency.

In this article we’ll walk through the basics of designing and implementing a GraphQL API, and identify many of the key considerations and choices you’ll make during the process.

Languages and frameworks for GraphQL

If you’re planning to use GraphQL for the API of your web application, there is a very good chance the language and data components you’re already using will support your efforts. GraphQL libraries are available for most every major language in production use. Clients are available for C#/.NET, Go, Java/Android, JavaScript, Swift/Objective-C, and Python, and the server libraries cover even more ground. 

If you’re starting entirely from scratch, you’re still best off picking whatever language, runtime, and data layer you’re most familiar with from other projects. Using GraphQL doesn’t impose many restrictions on the server or client, and it is database agnostic. However, you may need to perform more or less manual integration of your data layer depending on what that is. (More on this in the next section.)

To continue reading this article register now