Engineers working on backend data services are often focused on operational concerns like data consistency, reliability, uptime, and storage efficiency. Because each situation calls for a specific set of tradeoffs, a single organization can end up with a diverse set of backend databases and services. For the people building the UI and frontend API layers, this diversity can quickly become an issue, especially if the same client needs to call into multiple backends or fetch related objects across different data sources.
GraphQL is a language-agnostic API gateway technology designed precisely to solve this mismatch between backend and frontend requirements. It provides a highly structured, yet flexible API layer that lets the client specify all of its data requirements in one GraphQL query, without needing to know about the backend services being accessed. Better yet, because of the structured, strongly typed nature of both GraphQL queries and APIs, it's possible to quickly get critical information, such as which objects and fields are accessed by which frontends, which clients will be affected by specific changes to the backend, and more. In this talk, Sasko Stubailo of Meteor explains what GraphQL is, what data management problems it can solve in an organization, and how you can try it today.
Sashko Stubailo is passionate about building technologies that help developers build great apps. Sashko graduated with a CS degree from MIT in 2014 and has worked on a declarative reactive charting library at Palantir, an interactive i18n middleware for Rails at Panjiva, front end technology and build tooling in the Meteor framework, and is now leading the new Apollo project to build a next-generation GraphQL data platform.
If you have any feedback about this or any other Compose article, drop the Compose Articles team a line at firstname.lastname@example.org. We're happy to hear from you.