Grafvision - Fotolia
Facebook's GraphQL data query and manipulation language has left the nest and will fly on its own.
Facebook created GraphQL in 2012 and released the source code in 2015, but the social media company has continued to dominate the technology's direction. Now, a handful of influential users have joined with the Linux Foundation to form the GraphQL Foundation, an independent body with a goal to accelerate the technology's development, expand its adoption and enhance its ecosystem.
"The GraphQL Foundation is great news for developers," said James Governor, an analyst at RedMonk in Portland, Maine. "GraphQL maps really well to the emerging two-tier dev models. As I have said, only half-jokingly: 'The new stack is React and GraphQL.'"
GraphGL grows up, out of Facebook's API needs
In 2012, Facebook upgraded the newsfeed API for its iOS application, but when it used REST APIs, it ran into problems with deeply nested data, heavy network requests and lots of manually written code on both the app and server side, said Lee Byron, co-creator of GraphQL while at Facebook and now a software engineer at Robinhood, a fintech firm in Menlo Park, Calif.
A subsequent design exercise evolved into GraphQL, with which the Facebook team built an iOS application to load data for a newsfeed in a single round trip over the network. This greatly increased performance on the network and reduced the amount of code to write for the iOS app itself and on the server, Byron said.
GraphQL users applaud API independence
The founders of the GraphQL Foundation are Airbnb, Apollo, Coursera, Elementl, Facebook, GitHub, Hasura Technologies, Prisma Labs, Shopify and Twitter. But hundreds of other organizations also use GraphQL in production, such as Credit Karma, Intuit, PayPal and The New York Times.
James Governoranalyst, RedMonk
GitHub has used GraphQL both internally and as a new version of its public API for more than two years, said Kyle Daigle, director of ecosystem engineering at GitHub.
"GraphQL has proven to be a valuable, extensible tool for our customers and integrators," he said. "The creation of the GraphQL Foundation further secures GraphQL's promising future."
AWS also uses GraphQL, particularly in its AppSync service, which helps developers manage and update mobile app data in real time between devices and the cloud in a single network request. This simplifies prototyping and building data-intensive applications to a few lines of code, Byron said. AWS AppSync also helps applications access AWS services using GraphQL and a software developer's kit optimized for mobile and web applications.
Atomist, a DevOps automation software provider in San Francisco, also uses GraphQL to expose the data model of its software delivery flows. It lets the company's customers more explicitly see the Atomist data model and access data, but doesn't reveal how data is stored, said Rod Johnson, CEO of Atomist.
"There is no viable alternative for such decoupling," he said. "Time has shown how dangerous it is to expose lower-level languages like SQL to users."
GraphQL has made a big impact on the speed of development within Shopify, said Jean-Michel Lemieux, senior vice president of engineering at the Ottawa company. Because GraphQL is schema-based, it's easier for Shopify developers to discover, compose and build on GraphQL. Shopify's mobile and web products now run entirely on GraphQL, and the Shopify app ecosystem has access to these same APIs, he said.
Often when a single-vendor, single-origin technology matures, the community around the technology seeks a neutral home to help sustain and grow the technology, said Chris Aniszczyk, vice president of developer relations at the Linux Foundation.
"If you're a company depending on this and the technology is from one vendor like Facebook, there's always a bit of risk," he said. "Large companies like Facebook and Google have been notorious for defunding projects -- like killing off Google Reader or something. Having GraphQL in a foundation, people are a lot more confident that this is going to last a long time."
The Linux Foundation takes a federation of foundations approach, Aniszczyk said. For example, it has a sister API project called the OpenAPI Initiative, which manages the Swagger specification on how to define APIs, and the Open Container Initiative, a specification for container image format and runtime.
The GraphQL Foundation is still in its early stages and has much to work out in terms of its governance structure, but Facebook has agreed to move the project's intellectual property into the foundation, Aniszczyk said.
Shopify's Lemieux agreed with the move to push GraphQL into neutral oversight.
"There are many vendors driving the adoption of GraphQL, which is healthy, but we also needed a governing board that is vendor-neutral," he said. "We are making a bet on GraphQL and happy that there's a foundation to guide its evolution."