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

GraphQL

33.1K
27.2K
+ 1
310
Tornado

436
407
+ 1
167
Add tool

GraphQL vs Tornado: What are the differences?

  1. Data Communication Model: GraphQL is a query language that allows clients to request only the data they need, reducing over-fetching and under-fetching issues common in REST APIs. On the other hand, Tornado is a Python web framework and asynchronous networking library, focused on building scalable WebSocket services, making it suitable for real-time applications.

  2. Type System: GraphQL enforces a strong type system, where the schema defines the structure of the data available and the queries that can be made. Tornado, as a web framework, does not have a built-in type system like GraphQL. Developers using Tornado have the flexibility to define data structures and types as needed within their application logic.

  3. Query Language: GraphQL has its own query language for retrieving data, providing a clear and efficient way for clients to request specific data. Tornado, being a Python web framework, does not have a standardized query language like GraphQL. Developers using Tornado typically rely on Python code to interact with data sources and APIs.

  4. Real-Time Capabilities: Tornado is well-suited for building real-time applications due to its asynchronous nature and support for WebSockets. This allows Tornado applications to handle a large number of simultaneous connections efficiently. GraphQL, while capable of handling real-time data with subscriptions, is primarily designed for fetching data in a more controlled and structured manner.

  5. Community and Ecosystem: GraphQL has a growing community and widespread adoption, leading to a rich ecosystem of tools, libraries, and resources for developers. In contrast, Tornado, being more focused on asynchronous networking, may have a smaller community compared to GraphQL, resulting in fewer resources and support available.

  6. Scalability: GraphQL offers a more fine-grained approach to fetching data, allowing clients to specify their data requirements precisely, thereby reducing the chances of over-fetching or under-fetching. Tornado, with its asynchronous architecture, can handle high loads and concurrent connections efficiently, making it a suitable choice for scalable web applications that require real-time capabilities.

In Summary, GraphQL and Tornado differ in their approach to data communication, type systems, query languages, real-time capabilities, community support, and scalability, catering to different use cases and developer preferences.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of GraphQL
Pros of Tornado
  • 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
  • 37
    Open source
  • 31
    So fast
  • 27
    Great for microservices architecture
  • 20
    Websockets
  • 17
    Simple
  • 14
    Asynchronous
  • 11
    Python
  • 7
    Lightweight
  • 3
    Handles well persistent connexions

Sign up to add or upvote prosMake informed product decisions

Cons of GraphQL
Cons of Tornado
  • 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
  • 2
    Event loop is complicated

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

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 Tornado?

By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.

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

What companies use GraphQL?
What companies use Tornado?
See which teams inside your own company are using GraphQL or Tornado.
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 Tornado?

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

Blog Posts

GitHubDockerReact+17
40
36292
GitHubPythonNode.js+47
54
72332
What are some alternatives to GraphQL and Tornado?
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