A version of this article originally appeared here.
We recently hosted a tech talk about GraphQL, a query language Facebook created in 2012 for building client applications.
For attendees unfamiliar with GraphQL, we began by giving an overview of why Facebook created the query language. GraphQL was designed to fill a need that arose when building Facebook’s mobile apps. We wanted a data-fetching API powerful enough to describe all of Facebook, yet simple enough for our product developers to learn and start using quickly. GraphQL provides a flexible syntax and system for describing data requirements and interactions. The presentation featured live demos to show engineers in the audience that the query language is incredibly intuitive, allowing them to get up to speed with GraphQL without reading extensive documentation.
Today GraphQL powers hundreds of billions of API calls for Facebook every day. During the tech talk, attendees learned that one of the many ways the Facebook community experiences GraphQL is through the live liking and commenting features on Facebook’s iOS and Android applications. A GraphQL specification called subscriptions offers the capability to push live updates from the server when select data changes, such as a new like or an additional comment.
In 2015 we began open-sourcing GraphQL, and encourage any engineer involved in building client applications to check out the latest GraphQL releases, documentation and reference implementation here.