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

GraphQL

27.9K
23.1K
+ 1
299
Spring

3.6K
4.3K
+ 1
1K
Add tool

GraphQL vs Spring: What are the differences?

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; Spring: Provides a comprehensive programming and configuration model for modern Java-based enterprise applications. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

GraphQL can be classified as a tool in the "Query Languages" category, while Spring is grouped under "Frameworks (Full Stack)".

"Schemas defined by the requests made by the user", "Will replace RESTful interfaces" and "The future of API's" are the key factors why developers consider GraphQL; whereas "Java", "Open source" and "Great community" are the primary reasons why Spring is favored.

GraphQL and Spring are both open source tools. Spring with 30.6K GitHub stars and 19.6K forks on GitHub appears to be more popular than GraphQL with 11.7K GitHub stars and 753 GitHub forks.

Facebook, Instagram, and Twitter are some of the popular companies that use GraphQL, whereas Spring is used by MIT, Zillow, and Intuit. GraphQL has a broader approval, being mentioned in 559 company stacks & 748 developers stacks; compared to Spring, which is listed in 319 company stacks and 184 developer stacks.

Advice on GraphQL and Spring
Needs advice
on
DjangoDjango
and
SpringSpring

I am a graduate student working as a software engineer in a company. For my personal development, I want to learn web development. I have some experience in Springboot while I was in university. So I want to continue with spring-boot, but I heard about Django. I'm reaching out to the experts here to help me choose a future proof framework. Django or Spring Boot?

Thanks in Advance

See more
Replies (5)
Recommends
SpringSpring

Kamrul Hasan, Don't choose dying technologies with small communities. How many startups do you think use Spring and Django? Use Google Trends to compare technologies. Study the StackOverflow developer survey and job websites to see what technologies are wanted. Few teams can afford to train you to get up to their level so be a life-long learner. Embrace the dawn of a new industry and become an expert.

See more
Sulaiman Sanusi
Recommends
SpringSpring

I recommend you stick to Java Spring as you already have experience with the technology, i suggest you master this technology and then if Django seam to be very interesting to you, django is a framework you can easily pickup as python is also easy, you have to probably be able to manage the context switching between a static typed language like Java to dynamic language like python

See more
Christoph Becker
Recommends
DjangoDjangoSpringSpring

It depends on what you want. Spring is Java-based whereas Django is Python-based. The question rather is Java vs Python. I personally recommend Python as it's shorter and easy to learn. But Java has advantages in really big systems.

See more
Gonzalo Fern谩ndez
Recommends

Hi Kamrul,

It really depends on the kind of project and whether you feel more comfortable with Java or Python. Both are excellent frameworks, with a huge community and learning material. I've been working with Spring Boot since I started coding almost and I can assure you it's the perfect combination for Java. The learning curve may be harder that Django, but once you know the basics you're good to go. I can't tell you much about Django but you must now by now that it has a great reputation with Python users. In any case I don't think you can go wrong with any of these two. My advice is, if you are already familiar with the Spring framework, give Spring Boot a try, because you're going to find out that it just makes the whole Spring experience so much easier. Let us know what you chose!

See more
Recommends
DjangoDjango

Both are in active development and had huge community support. It really depends on you what you are comfortable with. Both are married to their respective languages. I choose Python over Java because of its simplicity and readability. To develop in java you need to write a lot of code. That's how java is. The best part I love with Django is its synchronization with Databases.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of GraphQL
Pros of Spring
  • 74
    Schemas defined by the requests made by the user
  • 62
    Will replace RESTful interfaces
  • 60
    The future of API's
  • 48
    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
  • 224
    Java
  • 155
    Open source
  • 133
    Great community
  • 120
    Very powerful
  • 112
    Enterprise
  • 63
    Lot of great subprojects
  • 59
    Easy setup
  • 44
    Convention , configuration, done
  • 38
    Standard
  • 29
    Love the logic
  • 12
    Good documentation
  • 10
    Stability
  • 10
    Dependency injection
  • 7
    MVC
  • 6
    Easy
  • 3
    Strong typing
  • 3
    Makes the hard stuff fun & the easy stuff automatic
  • 2
    Maven
  • 2
    Code maintenance
  • 2
    Best practices
  • 2
    Great Desgin
  • 2
    Easy Integration with Spring Security
  • 2
    Integrations with most other Java frameworks
  • 1
    Java has more support and more libraries
  • 1
    Supports vast databases
  • 1
    Large ecosystem with seamless integration
  • 1
    OracleDb integration
  • 1
    Live project

Sign up to add or upvote prosMake informed product decisions

Cons of GraphQL
Cons of Spring
  • 4
    Hard to migrate from GraphQL to another technology
  • 4
    More code to type.
  • 2
    Takes longer to build compared to schemaless.
  • 1
    All the pros sound like NFT pitches
  • 1
    Works just like any other API at runtime
  • 15
    Draws you into its own ecosystem and bloat
  • 3
    Verbose configuration
  • 3
    Poor documentation
  • 3
    Java
  • 2
    Java is more verbose language in compare to python

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

A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

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

Jobs that mention GraphQL and Spring as a desired skillset
What companies use GraphQL?
What companies use Spring?
See which teams inside your own company are using GraphQL or Spring.
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 Spring?

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

Blog Posts

GitHubDockerReact+17
35
33392
GitHubPythonNode.js+47
53
70778
What are some alternatives to GraphQL and Spring?
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