Log in to GraphQL EditorGet started
GraphQL tools & libraries - Part 3

Michał Tyszkiewicz

10/8/2020

GraphQL tools & libraries - Part 3

It took a while, but nevertheless, here it finally is - GraphQL Tools & Libraries Part 3. If you missed it here’s a link to part one & part two of GraphQL tools & libraries. Now let’s dig in.

Graphene Python

Graphene Python is a library for building GraphQL APIs with Python. It’s declared goal is to provide a simple and extendable API to make devs lives easier. While fast and easy to use it’s also versatile and data-agnostic. Graphene offers:

  • Integrations with different frameworks like Django, SQLAlchemy, and Google App Engine,
  • Instantly ready to use, will work out of the box with your current stack
  • Built-in Relay support,
  • Supports every kind of data source, SQL, NoSQL, custom Python objects, and others.

Source: graphene-python.org

Firecamp

Unlike many tools and libraries that aim to help here and there, Firecamp is a larger tool packed with features that aim to be a swiss army knife for API development. They describe it as a campsite for developers to test and enhance their work. It serves both as a multi-purpose dev tool and as a platform to test HTTPs, WebSocket, and GraphQl endpoints. Among noteworthy Firecamp features we will find:

  • visual components that make everything look more transparent and professional
  • introspection viewer which lets you review schema
  • code snippet generator for over 10 different languages
  • automatically managed query history for previous query requests

Source: Firecamp

Dgraph

Dgraph prides itself on being the only native GraphQL Database with a graph backend. It has some pretty ambitious goals as its description states:

Dgraph's goal is to provide Google production-level scale and throughput, with low enough latency to be serving real-time user queries, over terabytes of structured data.

Looking at it, the main advantages here is that it’s scalable and distributed while the biggest feature is ACID transactions. To put it short, it's a set of properties a database system maintains during transaction execution that guarantees data validity in spite of errors, power outages, and other problems.

  • shared and distributed architecture
  • GraphQL inspired language
  • distributed ACID transactions

Source: dgraph.io

GraphQL Zeus

Zeus is a clever GraphQL fetching tool with type-safe requests and responses. The key feature here is that it provides autocompletion for strongly typed queries for Javascript or TypeScript but not limited to that!

  • query autocompletion for strongly typed queries,
  • supports mapped types,
  • JS/TS support (Browser, NodeJS, and React Native),
  • simpler approach to GraphQL parsing using the graphql-js library and parsing AST to simpler types.

Source: [graphql-zeus](https://github.com/graphql-editor/graphql-zeus)

AWS AppSync

AWS AppSync is a powerful application development service that adds additional functionality on top of GraphQL. The key selling point here is that it reduces the amount of code you need to write and accelerates development by abstracting part of the backend.

  • Automatic code generation - available via AppSync management console or the AWS Amplify CLI, it lets you use automatically generated schemas and resolvers minimizing the amount of coding you have to do manually.
  • Pipeline Resolvers - each resolver consists of a Before and After mapping template with a list of functions and each function has request and response mapping templates that manage interactions with the data source. This means you can stack different functions to perform more complex resolver operations.
  • AWS CloudFormation - automate your work by managing your AWS stack and resources via templates. Simply define the resources you need in a JSON or YAML file, deploy the service via the CloudFormation console and AWS will generate and make the resources ready for use as specified.

Source: aws.amazon.com/appsync

Well, that’s it for part three. As you can see GraphQL is very flexible and using it can be made even more advantageous with the right tools. Some of those are small tools and libraries that will provide a few quality of life improvements, some are larger tools and services that will completely change the way you work with GraphQL. It’s obviously up to you to choose what works best for you and I sincerely hope I helped with that at least a little bit.

Check out our other blogposts

GraphQL cache: using LRU cache with GraphQL Zeus
Michał Tyszkiewicz
Michał Tyszkiewicz
GraphQL cache: using LRU cache with GraphQL Zeus
1 min read
13 days ago
Unlocking the Power of React 19
Tomasz Gajda
Tomasz Gajda
Unlocking the Power of React 19
1 min read
about 2 months ago
Zeus update - GraphQL spread operator
Michał Tyszkiewicz
Michał Tyszkiewicz
Zeus update - GraphQL spread operator
1 min read
3 months ago

Ready for take-off?

Elevate your work with our editor that combines world-class visual graph, documentation and API console

Get Started with GraphQL Editor