Announcing the official GraphCMS integration for Vercel!
We've just rolled out our official GraphCMS - Vercel integration!
May 4, 2019
I was working at IBM on a product powered by a µ-services architecture. We were seeing tons of duplicated code between µ-services, with a lot of it being confusing proxy wrappers around other APIs to guard against unexpected breaking changes in the upstream API. It was... gnarly.
We did some internal discovery work to compare solutions, and GraphQL was looking really good as a way to solve this problem. After some pilot projects, we ended up creating GrAMPS, which gave teams the ability to publish their GraphQL endpoints as packages that we could aggregate and serve from a single API endpoint.
It made building UIs fun again, which is a big part of why it saw success and adoption inside IBM's teams.
I don't really have a good one here — I usually end up drawing pictures or doing a quick walkthrough demo. ?
It created a cleaner separation between what front-end teams and back-end teams were building. There was a lot of ambiguity and duplicate effort before, and this meant that front-end developers were suddenly in a world of Node, NGINX, setting up proxies, and even trying to manage Kubernetes — that's not their job, and shouldn't be a requirement for building a UI.
GrAMPS was a team effort. I described it above. Jumped the gun a bit. ?
Gatsby has a really unique way of using GraphQL that goes beyond the common uses I've seen. We're using it to query the filesystem, for example, and leveraging it for build-time work.
Understanding resolvers is hard. The mental model for GraphQL is a bit convoluted at first, especially on the server side. Trying to understand how a query gets mapped to the resolvers, and further how the resolvers get to the data, is a little mind-bendy at first.
Embrace the weirdness. It's a mental shift, which makes it uncomfortable at first. If you can push through to the aha moment — which happens faster than you might think — GraphQL opens up a lot of new and powerful possibilities.
There definitely seem to be a lot of companies working to release GraphQL APIs. It's also been interesting to see people using GraphQL for things that aren't immediately obvious, like managing design systems for development or — like I mentioned before — Gatsby querying the filesystem.
Gatsby themes and the underlying data customization work we're doing is really powerful, and I can't wait to see what people build with it!
It'd be nice if you could set number ranges in the SDLs (e.g. allow integer values between 1–5). I was really gung-ho about namespaces back when I was at IBM, but there are good arguments against that — ultimately it would be cool to see more support for composability between GraphQL schemas that aren't maintained by the same team. Kind of like a schema plugin system.
This site uses cookies to provide you with a better user experience. For more information, refer to our Privacy Policy