GraphQL tools & libraries - Part 2
If you missed it here’s a link to part one of GraphQL tools & libraries. Now onto part two, where we check out a few more tools and libraries.
Ariadne is a Python library for implementing GraphQL servers that prides itself on being schema-first. Schema-first is the approach of first defining the schema for the GraphQL service and then implementing the code by matching the definitions in the schema. The other approach is code-first where you first code the resolvers with the schema generated as an artifact. Which approach you chose is mostly up to personal preference, but let’s get back to schema-first and Ariadne and look at its features:
- schema-first lets both the client-side and server-side developers work at the same time since client-side developers don’t have to wait for a finished backend
- a small and easy to learn, python based API with a focus on simplicity
- open design, Ariadne is modular and open to customization
Lighthouse is a GraphQL framework that provides integration with Laravel (PHP) applications. It’s also schema-first and primarily uses SDL (Schema Definition Language) but also supports native PHP definitions. The idea is to take the best from both GraphQL and Laravel and combine it into a tool that makes your work much easier and provides lots of flexibility.
- schema-first and boilerplate free, use GraphQL SDL to describe your data and add functionality through server-side directives
- takes full advantage of GraphQL and Laravel, build a GraphQL server on top of an existing Laravel application
- instantly ready to use, generates optimized data queries out of the box and comes with sensible configuration defaults
GraphQL Editor is an all-around tool for the GraphQL schema development. The focus here is saving time and effort by visualizing schemas, creating one is as simple as joining blocks, no code required (if you prefer to create your schema the traditional way it’s still possible). This makes for a quick and easy to play with the tool, that will ease development and make communication with other team members much easier. That’s especially handy now, with everyone working via Zoom.
- Schema Visualization: readily available schema import via GQL file or copying code
- Live JAMStack Engine: preview GraphQL queries inside the frontend and mock backend
- GraphQL IDE: design schema or import one, includes error handling and type validation
- GraphQL Docs: automatically generated, easily readable schema documentation
Altair boasts being a beautiful, feature-rich GraphQL Client IDE for all platforms. The self-professed comparison is to be a Postman for GraphQL ie. letting the developer quickly and easily test and optimize GraphQL implementations. The features paint a good picture:
- visualization and simplicity, your schema is visualized in the docs along with information on queries, mutations, arguments, etc. adding a query requires only a single click
- simple GraphQL subscription testing requires only the url
- easy importing and exporting, from dragging and dropping a query to exporting your entire current window state with all the queries and variables
And last but not least, the GraphiQL is an IDE created by the GraphQL Foundation. Being the official tool it has full GraphQL support, from queries and mutations to unions and fragments. While it might not be packed with features, it is an essential tool for anyone working with GraphQL because of the quality of life improvements it provides.
- debugging as you type, GraphiQL provides realtime syntax and error highlighting with useful tips and suggestions
- autocomplete for coding queries and variables
- query library, GraphiQL keeps a running library of your queries, you can also favorite the ones you use most often to keep them at the top of the list
That’s it for part two and just like last time if you think I’ve missed some useful tool/library just hit me up. Oh and stay tuned for part three!