GraphQL is a programming language that allows developers to query data from a server via an API.
The basic idea behind GraphQL is to provide a more flexible and powerful way to query data. Compared to REST APIs, which often have predefined endpoints and are not as flexible, GraphQL offers corresponding advantages. For example, we can ask for nested fields when querying. It is now possible for developers to query exactly the data they need, avoiding unnecessary data transfers. This in turn leads to better performance and a better user experience.
The focus of GraphQL is on the querying of data. However, GraphQL can also be used to create, change and delete data. Mutations are mostly used for this.
Originally, GraphQL was developed by Facebook in 2012 to improve the interaction with data in mobile applications. GraphQL was used to query data from Facebook’s API. In 2015, GraphQL was released by Facebook and in 2018 was transferred to the GraphQL Foundation under the umbrella of the nonprofit Linux Foundation as an open source project.