Over the Wire: Connecting the Dots with GraphQL Tools
Open Technologies is the group I work with at Postman. We focus on open source API specifications namely: Open API, AsyncAPI, JSON Schema, GraphQL and gRPC and their ecosystems.
The big news recently in the GraphQL tools space has featured the other open source project where I collaborate and work, the Rust Programming Language. Apollo GraphQL, the leading implementation and tools vendor for GraphQL, made news with their announcement that they would adopt Rust for developing the tools that they previous had built only in JavaScript. Further, that their work on a GraphQL compiler would be done in the Rust.
Next, The Guild, a group of open source developers who build tools deployed across the GraphQL industry from Microsoft, to Uber, to Air France to KLM, and beyond have entered the realm of web 3 by taking on the task for rewriting their popular JavaScript tools in Rust.
It was only logical for me to begin a journey into the world of GraphQL including the specification and the tools as it combines both my day job and my other work in open source, namely, Rust. Hi GraphQL! I'm here.
And so it was with keen interest that I caught sight of a tweet in my Twitter timeline which posed this question.
There were 197 replies. Some were the typical Twitter humorous or snarky kind, but many more tweets contained the tool choices from this subsection of the GraphQL community. Let's dig in.
The tools below are listed in reverse order of appearance in response to Netflix Engineering's question.
Building Schemas
- GraphQL Voyager
- Pothos
- AWSAmplify
- OneGraph
- Hasural
- merimaid Schemas
- a Google Doc shared between teams
- Nexus
- Postman + GraphQL Explorer
- Tyk (from an engineer at Tyk)
- Prisma
- Firecamp
- TypeGraphQL
- stepzen.dev
Tool Suites
- Apollo
- The Guild
Clients
- Apollo
- Altair
- Hasura
- Relay
- Strawberry Shake
- urql
Languages
- Typescript
- JavaScript
- Rust
- Ballerina
Plugins
- Apollo Elements
- graphql-network-inspector
- mercurius
- GraphQL for WordPress
API Package Manager
- WunderHub
Libs & Frameworks
- RedwoodJS
- SvelteJS
- async-graphql
- GatsbyJS
- HerbsJS
- PollyJS
- GraphCMS
- NestJS
API Gateway
- Tyk
Database Connectors
- Prisma
- Postgrpahile
- Hasura
- WunderGraph
- Redis
- AppSync
Playgrounds
- Altair
- GraphiQL
- Apollo Playground
- GraphQL Voyager
- GraphQL Explorer
Testing
- Apollo
- Postman
- Insomnia
API Integration
- OneGraph - now NetlifyGraph
- StepZen
Design & Schema tools
- Apollo Nexus
- Domain Graph
- Pen and Paper
- Slab.io
- Draw.io
- Whimsical
- DrawSQL
- Lucid Charts
- Hasura
There were 2 tools suites that dominated the replies. Apollo and The Guild both supply tools from their suites that cover many of the catagories listed above. And they both received many replies as someone's favorite tool. Of course, these are replies to a single tweet and so can't be generalized to the greater GraphQL community. But their dominance in replies certainly is notable.
I, also, want to point out that this list doesn't represent all tools available for GraphQL, so your favorite might not be listed especially if you didn't participate in this Netflix thread on Twitter.
The outsized mentions of Apollo and The Guild are salient to me, because both of these tool suites are being rewritten in Rust. Bringing together both of my interests, it only makes sense that I've begun a journey into where GraphQL and Rust meet.
One of my first projects on this journey can be found on GitHub and it will continue to evolve with time. You can watch along or even makes suggestions and comments. The README will get better. :)
A final note: my next post will feature bringing asynchronous queries to GraphQL and a playground to experiment with features not yet added to the specification. You don't want to miss that! Stay tuned.