Introduction
GraphQL Mesh is a framework to build GraphQL Gateways on top of GraphQL and non-GraphQL services (REST, gRPC, and more).
Many approaches exist to build a GraphQL Gateway:
- creating an Apollo Server with Apollo DataSource to query sub-services
 - creating a GraphQL Gateway from scratch using GraphQL tools (ex: 
stitchSchemas()) - use Apollo Federation
 
However, most of those approaches require much coding, maintenance or don't support non-GraphQL sub-services.
GraphQL Mesh has been built with productivity and developer experience in mind.
Building and serving a unified GraphQL schema as a Gateway has never been easier; thanks to many helpful features:
- Consume many API/Sources types (SOAP, REST, GRPC, Databases, and more)
 - Embedded performant and extensible GraphQL Server (GraphQL Yoga (opens in a new tab) + Envelop (opens in a new tab))
 - Apply transforms to the unified schema (ex: naming convention)
 - Extend the unified schema with custom resolvers
 - Caching strategies
 - Add mocks for Schema development
 
Already used in production by community members and some of our clients (opens in a new tab), GraphQL Mesh is useful for:
- Build a unified GraphQL Schema that follows the industry best practices (schema design, performances)
 - Combine multiple GraphQL services as a unified Schema with subscriptions support
 - Progressively migrate existing non-GraphQL services under a unified GraphQL API (REST, gRPC, SOAP)
 - Quickly give a try to GraphQL by translating an existing REST API to a GraphQL Gateway
 
Get started by learning the GraphQL Mesh concepts and build your first Gateway!