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

Apache Thrift

108
190
+ 1
0
GraphQL

22.2K
18.2K
+ 1
292
Add tool

Apache Thrift vs GraphQL: What are the differences?

Apache Thrift: Software framework for scalable cross-language services development. The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages; GraphQL: A data query language and runtime. 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.

Apache Thrift can be classified as a tool in the "Serialization Frameworks" category, while GraphQL is grouped under "Query Languages".

Apache Thrift and GraphQL are both open source tools. It seems that GraphQL with 11.7K GitHub stars and 752 forks on GitHub has more adoption than Apache Thrift with 6.42K GitHub stars and 2.94K GitHub forks.

According to the StackShare community, GraphQL has a broader approval, being mentioned in 541 company stacks & 715 developers stacks; compared to Apache Thrift, which is listed in 10 company stacks and 8 developer stacks.

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

    Sign up to add or upvote prosMake informed product decisions

    Cons of Apache Thrift
    Cons of GraphQL
      Be the first to leave a con
      • 3
        Hard to migrate from GraphQL to another technology
      • 3
        More code to type.
      • 1
        Works just like any other API at runtime
      • 1
        Takes longer to build compared to schemaless.

      Sign up to add or upvote consMake informed product decisions

      No Stats

      What is Apache Thrift?

      The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.

      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.

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

      What companies use Apache Thrift?
      What companies use GraphQL?
      See which teams inside your own company are using Apache Thrift or GraphQL.
      Sign up for Private StackShareLearn More

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

      What tools integrate with Apache Thrift?
      What tools integrate with GraphQL?

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

      Blog Posts

      What are some alternatives to Apache Thrift and GraphQL?
      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...
      Protobuf
      Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler.
      REST
      An architectural style for developing web services. A distributed system framework that uses Web protocols and technologies.
      Avro
      It is a row-oriented remote procedure call and data serialization framework developed within Apache's Hadoop project. It uses JSON for defining data types and protocols, and serializes data in a compact binary format.
      JSON
      JavaScript Object Notation is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language.
      See all alternatives