What is GraphQL?

Query and manipulate your data easily

GraphQL is a language for APIs that enables you to query and manipulate data easily through an intuitive and flexible syntax. GraphQL provides a syntax to describe data requirements and interactions, allowing you to ask for exactly what you need and get back predictable results. It also makes it possible for you to access many sources in a single request, reducing the number of network calls and bandwidth requirements, therefore saving battery life and CPU cycles consumed by your applications. Making updates to your data is made simple with mutations, allowing you to describe how you want your data to change. GraphQL also allows you to quickly set up real-time solutions via subscriptions. All of these features combined, coupled with powerful developer tools, makes GraphQL essential to managing your data.

GraphQL Logo

Why use GraphQL

With GraphQL you can build modern web and mobile applications faster by simplifying how you manage your data. You can query and retrieve multiple pieces of information across different sources in a single network request, ensuring faster response times even on slow connections.
In a GraphQL request, you specify how to structure the data when it’s returned by the server. This makes it possible for you to query only the data you need, in the format you need.

100x100_benefit_deployment1

Faster development

GraphQL enables you to drastically reduce the number of endpoints required to manage your application data needs. You can retrieve or manipulate data across multiple resources with one single request. GraphQL also allows developers to discover the data available, queries supported, and data types without requiring knowledge of the backend.

100x100_benefit_tools

GREATER FLEXIBILITY

GraphQL allows you to change your data types and structure without impacting existing queries or backend schemas. You can easily add new fields and types to an existing API without changing your front-end code or creating new versions of your API. GraphQL is not tied to any specific database engine, platform, or codebase so you to use it in many scenarios.

100x100_benefit_migration

Easier data management

GraphQL allows you to request and receive just the data you need, when you need it. There is no over-fetching or under-fetching of data giving your application overall improved performance. GraphQL lets you specify which portions of your data should be available in real time using Subscriptions, eliminating the need to build complex distributed architectures.

When to use GraphQL

GraphQL is applicable to all types of mobile and web applications across industries, verticals, and categories where the apps require data from multiple sources, real-time data updates, and offline capabilities. Here are some examples of apps that can particularly benefit from being built with GraphQL

Real time applications

GraphQL makes building applications that rely on real-time data, like social media or chat, easier by enabling subscriptions across multiple devices, as well as offline access to data. GraphQL can also help by managing application messaging among multiple users with a variety of data types and sources.
 

Data driven applications

GraphQL creates a single point of entry for all data sources and microservices, so you can build applications that rely on multiple and heterogeneous data sources faster. 

Mobile backends

GraphQL optimizes network requests by minimizing the number of queries required to retrieve data from your backend. It also allows you to specify how to structure the data to be received so your application only receives the data it needs, resulting in better network utilization and performance, especially on mobile devices. 

GraphQL on AWS

Site-Merch_PAC_AppSync_Editorial

AWS AppSync

AWS AppSync is an enterprise level, fully managed GraphQL service with real-time data synchronization and offline programming features. AppSync makes it easy to build data driven mobile and web applications by securely handling all the application data management tasks such as real-time and offline data access, data synchronization, and data manipulation across multiple data sources.

Get started using GraphQL

The steps below will get you started using GraphQL on AWS in minutes!

Learn more about AWS AppSync

Visit the AWS AppSync page
Ready to build?
Get Started with AWS AppSync
Have more questions?
Contact us