GraphQL is a query language for APIs that describes how to ask & fetch the data from the server to the client which of course requires setting up a server. Below you will find a list of the most popular GraphgQL server implementations. There’s quite a few of them so we’re not going to get through the lot of them in one go.
Express GraphQL
It is said that Express GraphQL is the simplest way to run a GraphQL API server. Express is a popular web application framework for Node.js allowing you to create a GraphQL server with any HTTP web framework supporting connect styled middleware including Express, Restify and, of course, Connect. Getting started is as easy as installing some additional dependencies in form of npm install express express-graphql graphql --save
Source: graphql.org
Apollo GraphQL Server
Apollo GraphQL Server is an open-source GraphQL server compatible with any GraphQL client and it's an easy way to build a production-ready, self-documenting GraphQL API that can use data from any source. Apollo Server can be used as a stand-alone GraphQL server, a plugin to your application's Node.js middleware, or as a gateway for a federated data graph. Apollo GraphQL Server offers:
- easy setup - client-side can start fetching data instantly,
- incremental adoption - elastic approach to adding new features, you can add them easily later on when you decide they're needed,
- universality - compatibility with any data source, multiple build tools and GraphQL clients,
- production-ready - tested across various enterprise-grade projects.
Source: apollographql.com
Hot Chocolate
Hot Chocolate is a GraphQL server you can use to create GraphQL endpoints, merge schemas, etc. Hot Chocolate is a part of a .NET based ChilliCream GraphQL Platform that can help you build a GraphQL layer over your existing and new infrastructure. It provides pre-built templates that let you start in seconds, supporting both ASP.Net Core as well as ASP.Net Framework out of the box.
Source: github.com/ChilliCream/hotchocolate
Hasura GraphQL Engine
Hasura GraphQL Engine is a GraphQL server that gives you realtime GraphQL APIs over Postgres, making easy building your new Postgress-backed GraphQL app or adding a GraphQL layer for your existing Postgres bases app. Hasura GraphQL Engine offers built-in filtering, pagination, merging remote schemas along with many other useful features. All that keeping high-performance & footprint at the lowest possible rate.
Source: github.com/hasura
API PLATFORM
API Platform is a set of tools that combined build a modern framework for building REST and GraphQL APIs including GraphQL Server. The server solution is located in the API Platform Core Library which is built on top of Symfony 4 (PHP) microframework and the Doctrine ORM. API Platform Core Library is a highly flexible solution allowing you to build fully-featured GraphQL API in minutes.
Source: api-platform.com
Parse Server GraphQL API
In addition to the traditional REST API, Parse Server automatically generates a GraphQL API basing on a given schema. Parse Server GraphQL API follows Relay specification along with the latest industry standards which makes it a perfect choice for modern projects requiring the highest-scalability.
Source: docs.parseplatform.org/graphql/guide
That’s it for the first look at GraphQL servers. So if I missed your favorite one, just mention it in the comments and stay tuned for the next parts!
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!
Top comments (5)
Thank you, honestly I don't like apollo soluitions so this post will worth it for my technical decision!
github.com/graphql-editor/stucco-js
stackofthefuture.com/
Pizza tutorial here
I also started writing guide here:
guide.graphqleditor.com/tutorials/...
For using stucco server
Thanks!
It's really surprising to not find Postgraphile here. Tried several of those on my first GraphQL project and really loving Postgraphile.
github.com/graphql-editor/stucco-js
Also this. Much faster than any existing server using GoLang compiled core under hood.