Netlify Graph provides a new GraphQL-based approach to integrating distinct APIs to build a Web app that strives to reduce the inherent complexities in mixing different data models, response formats, authentication schemes, and so on. InfoQ has spoken with Netlify head of ecosystem Den Delimarsky.
The main benefit of using Netlify Graph, according to Netlify Co-founder and CEO Matt Biilmann, is reducing the time it takes for developers to start using external APIs without having to write glue code or composing multiple, endpoints from heterogeneous APIs.
At the moment, Netlify Graph is integrated with a number of popular APIs such as GitHub, Stripe, and Salesforce, with more coming in the next months.
InfoQ has spoken with Netlify head of ecosystem Den Delimarsky to learn more about Netlify Graph.
InfoQ: Could you explain what problem the new Netlify Graph attempts to solve for developers?
Den Delimarsky: We’re moving from an era where developers had to build web applications from scratch to an era where pre-built APIs exist for nearly everything. But a new problem has emerged; many developers have found that the process of connecting and interacting with all of these APIs has replaced old complexities with new ones - different data models that are hard to plug into existing infrastructure, a variety of response formats, as well as custom authentication and query requirements.
We believe a GraphQL-powered approach to unifying APIs in one central graph will make it easier for developers to stitch services together to create rich web applications without re-implementing the same infrastructure pieces for every service they need included in their products.
InfoQ: Which are the key steps developers need to carry through to integrate an API with their app using Netlify Graph?
Delimarsky: With Netlify Graph, developers can start using APIs without spending time writing undifferentiated code, learning every unique structure for APIs they use, or composing endless amounts of endpoints to get data from multiple interfaces into their web applications.
The key steps developers can take to integrate an API into their app using Netlify Graph are:
Connect the API to the Netlify Graph in a single, intuitive step, through the Netlify site dashboard. When you connect an API, it will automatically be enabled in your site’s graph and is immediately available for integration into your web application.
Before Netlify Graph, the process to authenticate with a single API was lengthy and fraught with frustrations and potential security concerns. For example, to authenticate with a new API, a developer typically needs to read the documentation to learn about its authentication flow, find and import an SDK (which aren’t standardized, may not exist, or are maintained by unofficial sources), figure out how to authenticate with the SDK, generate a secure token for the API, store the token securely, test to make sure it’s working properly, and finally begin to start trying to get data from it.
Use the built-in Graph Explorer to explore all your APIs in one central place, build queries, combine service data models, and generate serverless function code that allows you to call the GraphQL queries without re-writing any of the code from zero.
Before Netlify Graph, the process was arduous to get data from an API that you were authenticated with into your app. Frequently the data you need from a single API is in multiple places. Because not all documentation is equally good, finding where data lives requires a lot of hunting around existing samples, as well as writing code to test what comes back. A developer needed to repeat this process across all APIs used in their application, as there was no unifying layer that would enable them to simplify the management of the flow and at the same time offer enough flexibility to control the returned data.
InfoQ: How does Netlify Graph integrate with the rest of the Netlify platform?
Delimarsky: Our mission is to unite the tools, the APIs, and the platform of the Jamstack into a simple, cohesive, and productive developer workflow that allows teams to build best-in-class web applications quickly and easily. Netlify Graph is a vital component of the Netlify workflow that perfectly fits that mission: it helps make developers more productive by making it easier to integrate APIs to build best-in-class web apps. It’s integrated where developers already use Netlify functionality - in the web interface, our command-line tooling (CLI), and in widely distributed Netlify packages.
InfoQ: What requirements must interested partners satisfy in order to have their APIs integrated with Netlify?
Delimarsky: We’re looking forward to adding more integrations. While Netlify Graph is still in Beta, we recommend folks complete the Partner Interest Form. From there, we follow-up with details and check technical requirements. If users have requests they can also contact us in the Netlify Support Forums.
Netlify Graph is currently available as a public beta to all Netlify users.