GraphQL tooling company Apollo introduced a version of Apollo Studio, its cloud-based service for developing and delivering a data graph (and a rebrand of its Graph Manager), that allows developers to build graphs and test queries on a locally running GraphQL server, rather than in production.
With Apollo Explorer, the IDE for Apollo Studio, users could navigate their graph and build GraphQL queries, but, heretofore, this functionality was only available for registered production graphs. In other words, using Apollo Explorer meant you were working with live, in-production graphs, and any changes you made were being done on live code. Obviously, this isn’t ideal, and earlier this month the company remedied that with its release of a version that supports development graphs.
Matt DeBergalis, chief technology officer and co-founder of Apollo, often describes GraphQL as a democratizing technology, one that empowers frontend developers to act where they were previously relegated to the back seat. Development graphs, he explained in an interview, is simply an extension of that broad theme.
“Historically, APIs have been a server-first technology. They’re defined by backend teams, and they reflect the preferences and needs of those backend teams. Then it falls on the engineers to actually build UI, build a product, to make that work and adjust to that,” said DeBergalis. “Dev graphs is a way to use Studio in the course of doing the actual application and graph development. It allows the engineers that are responsible for the data that’s in their graphical API to use Studio to model those changes, and to be able to validate those changes before they go into production, and to be able to communicate those changes to the teams that depend on their data as they roll that out across the organization. It’s really extending our vision of a common data graph to the organization, all the way to the beginning of the software development process and getting in the hands of every developer.”
With developer graphs, Explorer offers developers features like extracting variables, one-click query building, and intelligent search, on local development servers.
Apollo Explorer is built on top of Monaco, giving it a familiar Visual Studio Code feel and interface, and provides similar features, such as IntelliSense support for GraphQL, query linting, autocomplete, peek definitions on hover, and jump-to-definition with a command-click, among others.
“Dev graphs bring all those tools to the team that actually define what’s in the graph — those same interactive tools that let me understand what schema I am about to change, let me take a query that I have stored and run it against the updated version of the graph that I’m creating, let me share that with coworkers and collaborate on that definition and design of the graph, and let me run a continuous integration on what I’m defining so that I can be certain that the changes I’m making are compatible with how the graph is used,” said DeBergalis. “That’s what dev graphs make possible: extending those tools that were for production graphs in the past to the part of the team that’s actually creating the new versions.”
Part of the reason for this release, explained DeBergalis, is that more and more enterprises and large organizations are moving toward GraphQL over REST APIs, and navigating a large graph in a large organization requires tools such as these.
“The exciting thing that’s happened over the last year, I’d say, is how quickly this has started to spread in the enterprise,” said DeBergalis. “How do we help companies, especially large companies, with multiple products, with a distributed development team? How do we help those companies dramatically accelerate their software development by rolling out a common graph for the company data graph that isn’t just for one team or for one screen of an application, but something that spans the entire organization?”