The adaptation rate for GraphQL keeps growing and a lot of big players like PayPal, Twitter, medium, Docker, GitHub or Shopify have gotten on board in recent years. If we’re going by google trends the interest has also been higher in 2022 than at any point before. In 2023 we can expect a large amount of major web applications to be running GraphQL in some capacity, as well as a continued steady rise in its popularity in both the open source and corporate environment. The industry will likely be buzzing with news on the latest tools, libraries and solutions to make working with GraphQL more secure and even more efficient. We’re also likely to see some new uses of GraphQL especially in regards to mobile development and real-time collaborations. GraphQL will become the go-to solution for many developers and businesses, especially with the continued popularization of no-code solutions. Obviously both those convinced it is the next best thing and those skeptical need some way to actually try it out, so let's look at some of the noteworthy tools you can check out for that.
GraphiQL is a popular lightweight client that is probably the go to tool for trying out GraphQL. Its popularity stems from the fact it is readily available, all it requires is the browser and you’re ready to go. You can play around with GraphQL, schema, queries and mutations and see what it's all about, before you decide if you want to use it professionally. It has recently gotten a 2.0.0 release and has a number of useful features like real time syntax and error highlighting, auto-complete for code and a history of used queries. The overall learning experience is also helped immensely by the documentation snipped feature which provides useful tooltips with documentation explaining the type, or string you just entered. The main drawback is that while it's a great tool for learning you will almost certainly move to some other GraphQL IDE should you decide on actually working with it.
Apollo is not really just a tool, it's more like a full stack with Apollo Client, Apollo Server or even the entire Supergraph. While both Apollo Server and Apollo Client are some of the most widely known and used developer tools, and that’s just as true for GraphQL as well, the dedicated GraphQL IDE is Apollo Studio. It has a number of useful features like click out queries, hints, and a variety of searching, filtering and sorting options. Obviously it is also integrated with other elements of the Apollo ecosystem which usually means that whatever you want to do, Apollo likely has you covered with some of their tools. It's little wonder why it became the industry standard as the jack of all trades, which is definitely great especially for beginners. While Apollo has been one of the early adopters of GraphQL a lot of competition has appeared over the years and you can see that in the fact that its user retention rate is not the highest because people are looking for alternatives. Additionally it has become a bit bloated over time, currently it's almost 200 npm packages. If you’re wondering if you need all that to set up a GraphQL API, the obvious answer is no. That's simply the issue with the industry standard, trying to be a tool for everyone means including a lot of solutions not everyone needs. In short, while it's likely that you’ll start your GraphQL journey with Apollo, as you get more experienced you’ll probably find other tools, which can offer improvements and are simply more fitting for what you’re looking to do.
Insomnia is a really battle-tested API development platform, it has been the preferred tool for many developers for years and for good reason. While Insomnia wasn’t designed specifically as a GraphQL IDE, it has included support for GraphQL since 2017 and over the years it has proven to be just as good for GraphQL API development. It focuses on quality of life features that focus on helping work more efficiently and comfortably in teams using functions like multiple workspaces, easy import/export and for those more related to GraphQL, automatic query completion, code snippet generation and real-time error checking.
Like Insomnia, Postman is a very popular open source IDE used by developers around the world. It even cracked 20 million users earlier this year! Though it is primarily known and used as a REST client it can connect to any web protocol and can easily be used along with GraphQL. Postman has a number of great features like auto generated API documentation and the ability to connect to a mock server to simulate endpoints, which helps test queries and responses instantly without waiting for your own backend to set up. Postman does however suffer from the same drawbacks many industry-standard tools do: it lacks some of the features other IDEs, which aim to compete with it, provide. It also still is primarily geared towards REST APIs and though its GraphQL support is growing with the language, it's still unsurprisingly behind GraphQL-specific IDEs in that regard.
Seeing how GraphQL Editor has been appearing in rankings like this for a few years now and with version 6.0 released just recently, I feel like a little bragging is in order. We’ve gone through some of the most well known and popular features of other IDEs, and the big selling point it, GraphQL Editor has them as well. Not only does it have them, it also combines that feature-rich environment with the simplicity of requiring only the browser without requiring installation or hundreds of packages. This makes it useful for a wide variety of users from non-coders and those taking their first steps in GraphQL to experts who can make full use of all the features in their projects. Let’s break it down:
easy access: Just like GraphiQL GraphQL Editor is instantly available, all you need is a browser and internet access. It even has a full GraphiQL Playground you can use to collaborate with your entire team online.
QOL features: All those quality of life features you might know from Apollo Studio like click out queries, hints, searching, filtering and sorting are also present here. There are also the ones that might remind you of Insomnia like automatic query completion, code snippet generation and view resizing. On top of that it has a complete E2E test builder & runner.
simple connections: Basic features like workspaces, easy import/export and schema stitching are accompanied by a GitHub sync feature and complex microservice integrations along with built-in templates & no-code resolvers.
auto-generated docs & mock backend: If you’ve used Postman you’ll also see some familiar features here like programmatically generated schema documentation and a mock backend for testing out queries, mutations and responses right away.
rest-proxy: a simple click-out REST to GraphQL proxy service. Just add the REST API url and use mapping to match the REST API arguments to the types and fields of your GraphQL schema.
The truth is there is no GraphQL IDE that will 100% certainly be best for you and a lot of it comes down to personal preference. The key thing is you won't be able to figure out what your personal preference is unless you at least try out a few different IDEs and tools. While data shows user retention is significantly lower for industry standard tools than for dedicated and more niche ones, a lot of users do stick with the industry standard without even considering that something else might better fit their needs. This is most apparent for React where a new framework appears almost every other week and despite that the much maligned industry standard is still widely used. Not to rag on Apollo (far from it!) but a similar thing can be noticed here where a number of other tools provide new functionalities and improvements and yet are a bit overlooked in favor of the more widely used one and we can hope that changes in 2023.