Appwrite vs. Hasura vs. Apollo
Tags: graphql, hasura, apollo, api
Published: 2023-01-05 17:22:14

The recent release of Appwrite 1.2, featuring GraphQL support, may have piqued the interest of developers curious about how it compares to other solutions. 

In this concise overview, we will delve into the features and capabilities of Appwrite and compare it to several other popular GraphQL solutions. By evaluating the pros and cons of each tool, an objective comparison will be provided, giving you a full understanding of the relative strengths and weaknesses of each option and helping you decide which GraphQL solution is the best fit for your project.

## Appwrite

Appwrite is an end-to-end backend server for Web, Mobile, Native, or Backend apps packaged as a set of Docker microservices. Appwrite abstracts the complexity and repetitiveness required to build a modern backend API from scratch and allows you to build secure apps faster.

Appwrite’s GraphQL solution offers full coverage of all existing services, allowing you to manage authentication, databases, functions, storage, and more using GraphQL queries and mutations.


## Hasura

Hasura is a web service that provides a GraphQL API (and optionally a REST API) for accessing data from one or more sources. It allows you to merge other REST or GraphQL APIs into a single data access hub by federating, composing, or stitching them together. 

The service also includes a configurable authorization layer that enables you to set permissions for accessing both data sources and REST/GraphQL API endpoints or resolvers at the schema, table, column, or row level.


## Apollo Server
Apollo Server is a popular open-source server-side runtime for executing GraphQL queries. It is designed to be flexible and easy to use, and can be integrated into a variety of environments and architectures.

Built on top of the Express web framework, Apollo Server supports a wide range of features and capabilities. It allows developers to define a GraphQL schema and implement resolvers that specify how data is fetched and modified, and it supports subscriptions, caching, and other advanced features.

## Use Cases

It is impossible to draw a direct comparison between these three products, as they are all fulfilling purposes at different levels:

- Appwrite requires **no configuration**, it just works out of the box with all the existing APIs
- Hasura requires configuration of data sources, but **allows you to work with existing data**, and merge from multiple sources if required
- Apollo only gives you a **server-side runtime**, but allows you to develop a fully-custom solution

When deciding which solution is best for a specific project, it is important to consider the needs and requirements of the project, as well as the skills and resources available to the development team. 

Appwrite and Hasura may be more suitable for projects that require a pre-configured backend with a range of APIs and services, while Apollo Server may be better suited to projects that require a fully custom solution or have more specialized or specific requirements.

## Learn more

You can use the following resources to learn more and get help:

🚀 [Appwrite Github](https://github.com/appwrite/appwrite)
📜 [Appwrite Docs](https://appwrite.io/docs)
💬 [Discord Community](https://appwrite.io/discord)