gqlgen vs GraphiQL
gqlgen
gqlgen.comGraphiQL
graphiql.devSide by side
| Figure | gqlgen | GraphiQL |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · GraphQL Tools | 7.6 (#17) | 8.4 (#3) |
| Deployment | The getting-started guide runs the generated server with go run server.go and opens it at localhost:8080. | The project provides an installable progressive web app demo and examples for CDN, Webpack, Create React App, and Parcel. |
| Integrations | The documentation includes recipes for Apollo Federation, authentication, CORS, Gin, and subscriptions. | The project provides examples for CDN ESM, Webpack, Create React App, and Parcel, and its repository describes GraphQL language tooling for CodeMirror, Monaco, and Visual Studio Code. |
| Security | The documentation provides an authentication recipe that passes authentication details through context. | The project warns that GraphiQL versions below 1.4.7 are vulnerable to an XSS attack when connected to an untrusted GraphQL server. |
| Support | The project directs users who find bugs or unexpected behavior to raise an issue on GitHub. | The project directs users to GitHub for issues and discussions and to the GraphQL Discord server for community discussion. |
Plans
In their own words
GraphiQL
GraphiQL is a free, interactive, in-browser IDE for GraphQL. Its editor supports the latest GraphQL specification, with syntax highlighting, type-aware suggestions, query and variable completion, and real-time error highlighting. A searchable documentation explorer can display Markdown, and the built-in query history and documentation explorer are available as plugins. GraphiQL can preserve state in browser localStorage and provides a plugin API for extending its interface. It is also a React package for embedding the IDE in an application; a component needs a fetcher function that sends requests to a GraphQL API. The toolkit fetcher supports HTTP, multipart incremental delivery, and subscriptions through graphql-ws or the legacy WebSocket protocol. Developers can customize the interface with React props and children, while CSS variables are the supported way to change its appearance. GraphiQL is open source under the MIT license. Its project offers a progressive web app demo and examples for CDN, Webpack, Create React App, and Parcel.