GraphQL vs GraphQL Mesh

Need advice about which tool to choose?Ask the StackShare community!

GraphQL

33.1K
27.2K
+ 1
310
GraphQL Mesh

7
21
+ 1
0
Add tool

GraphQL vs GraphQL Mesh: What are the differences?

Introduction: GraphQL and GraphQL Mesh are both frameworks used for building and querying APIs. While they share some similarities, there are key differences between the two that make them unique in their own ways.

  1. TypeDef Language Support: GraphQL supports defining the schema and types using its own type definition language (SDL). On the other hand, GraphQL Mesh allows the use of multiple type definition languages, such as GraphQL SDL, Protobuf, OpenAPI, and Thrift, providing greater flexibility and interoperability.

  2. Schema Stitching: GraphQL Mesh enables schema stitching, which allows combining multiple GraphQL schemas into a single unified schema. This allows developers to integrate existing GraphQL APIs and meshes together seamlessly, providing a unified interface to clients. GraphQL, on the other hand, does not have built-in support for schema stitching and requires additional tooling for this functionality.

  3. Data Sources Integration: GraphQL Mesh provides a built-in way to integrate and connect data sources with various protocols into the GraphQL schema. This includes REST APIs, gRPC, SOAP, and more. GraphQL, however, requires the use of resolvers to connect to data sources, which needs to be implemented manually or using third-party libraries.

  4. Automatic Proxy Generation: GraphQL Mesh can automatically generate proxies for external schema endpoints, including GraphQL APIs, REST APIs, and other supported protocols. This simplifies the process of connecting to external data sources and eliminates the need for manual proxy implementation. GraphQL does not have this built-in functionality and requires developers to manually create proxies.

  5. Plugin System: GraphQL Mesh has a powerful plugin system that allows developers to extend its functionalities and customize the behavior of the generated schemas and resolvers. This helps in integrating additional features and handling complex scenarios with ease. GraphQL, on the other hand, does not have a built-in plugin system and relies on external libraries or custom code for extending its functionalities.

  6. Code Generation and Language Support: GraphQL Mesh provides extensive code generation capabilities, allowing developers to generate client SDKs, type definitions, and resolvers for different programming languages. It also supports various query and code generation tools like GraphQL Code Generator. GraphQL, on the other hand, does not have built-in code generation capabilities and requires the use of external tools and libraries for code generation.

In summary, GraphQL Mesh offers more flexibility in terms of schema definition, data source integration, and schema stitching, while also providing features like automatic proxy generation, plugin system, and code generation capabilities. GraphQL, on the other hand, is focused on providing a powerful and efficient query language for APIs with the need for additional tooling for advanced features.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of GraphQL
Pros of GraphQL Mesh
  • 75
    Schemas defined by the requests made by the user
  • 63
    Will replace RESTful interfaces
  • 62
    The future of API's
  • 49
    The future of databases
  • 13
    Self-documenting
  • 12
    Get many resources in a single request
  • 6
    Query Language
  • 6
    Ask for what you need, get exactly that
  • 3
    Fetch different resources in one request
  • 3
    Type system
  • 3
    Evolve your API without versions
  • 2
    Ease of client creation
  • 2
    GraphiQL
  • 2
    Easy setup
  • 1
    "Open" document
  • 1
    Fast prototyping
  • 1
    Supports subscription
  • 1
    Standard
  • 1
    Good for apps that query at build time. (SSR/Gatsby)
  • 1
    1. Describe your data
  • 1
    Better versioning
  • 1
    Backed by Facebook
  • 1
    Easy to learn
    Be the first to leave a pro

    Sign up to add or upvote prosMake informed product decisions

    Cons of GraphQL
    Cons of GraphQL Mesh
    • 4
      Hard to migrate from GraphQL to another technology
    • 4
      More code to type.
    • 2
      Takes longer to build compared to schemaless.
    • 1
      No support for caching
    • 1
      All the pros sound like NFT pitches
    • 1
      No support for streaming
    • 1
      Works just like any other API at runtime
    • 1
      N+1 fetch problem
    • 1
      No built in security
      Be the first to leave a con

      Sign up to add or upvote consMake informed product decisions

      What is GraphQL?

      GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.

      What is GraphQL Mesh?

      It allows you to use GraphQL query language to access data in remote APIs that don't run GraphQL (and also ones that do run GraphQL). It can be used as a gateway to other services, or run as a local GraphQL schema that aggregates data from remote APIs.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use GraphQL?
      What companies use GraphQL Mesh?
      See which teams inside your own company are using GraphQL or GraphQL Mesh.
      Sign up for StackShare EnterpriseLearn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with GraphQL?
      What tools integrate with GraphQL Mesh?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      GitHubDockerReact+17
      40
      36278
      GitHubPythonNode.js+47
      54
      72315
      What are some alternatives to GraphQL and GraphQL Mesh?
      gRPC
      gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking...
      Falcor
      Falcor lets you represent all your remote data sources as a single domain model via a virtual JSON graph. You code the same way no matter where the data is, whether in memory on the client or over the network on the server.
      React
      Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
      graphql.js
      Lightest GraphQL client with intelligent features. You can download graphql.js directly, or you can use Bower or NPM.
      MongoDB
      MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
      See all alternatives