DEV Community

Cover image for GraphQL tools & libraries pt. 2
Tomek Poniatowicz for GraphQL Editor

Posted on

GraphQL tools & libraries pt. 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

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

Ariadne GraphQL

Source: ariadnegraphql.org

Lighthouse

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

Lighthouse PHP GraphQL

Source: lighthouse-php.com

GraphQL Editor

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

GraphQL Editor

Source: graphqleditor.com

Altair

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

Altair GraphQL

Source: altair.sirmuel.design

GraphiQL

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

GraphiQL

Source: github.com/graphql/graphiql

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!


A guest blog post for GraphQL Editor blog by Michal Tyszkiewicz


Want to speed up your GraphQL schema development?

GraphQL Editor is a supportive tool for both advanced GraphQL users as well as those taking their first steps with GraphQL APIs. Our all-in-one development environment for GraphQL will help you build, manage & deploy your GraphQL API much faster. Try GraphQL Editor for free!

GraphQL Editor

Top comments (1)

Collapse
 
fennecdjay profile image
Jérémie Astor

Just to say, to learn GraphQl, I made myself a tool to get github discussions on the terminal, using libcurl and C, seems to work well, I'll release it soon.
The only thing I need to grok yet is pagination.