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

.NET

10.1K
5.7K
+ 1
1.9K
Node.js

187.6K
159.3K
+ 1
8.5K
Spring

4K
4.8K
+ 1
1.1K

.NET vs Node.js vs Spring: What are the differences?

Introduction

In this article, we will discuss the key differences between .NET, Node.js, and Spring. These are all popular frameworks used for developing web applications, but they have different characteristics and features that set them apart.

  1. Language: One of the key differences between .NET, Node.js, and Spring is the programming languages they use. .NET primarily uses C# or Visual Basic for coding, while Node.js uses JavaScript, and Spring primarily uses Java. This difference in programming languages can have an impact on the development process and the skills required by developers.

  2. Runtime Environment: Another significant difference is the runtime environment. .NET applications run on the common language runtime (CLR) and require the .NET framework to be installed, while Node.js runs on the V8 JavaScript engine and does not require any additional runtime. Spring applications run on the Java Virtual Machine (JVM) and require Java to be installed.

  3. Architecture: The architecture of .NET, Node.js, and Spring also differs. .NET is a framework developed by Microsoft and follows a component-based architecture. Node.js, on the other hand, follows a single-threaded event-driven architecture, making it highly scalable for handling numerous concurrent requests. Spring is a Java-based framework that follows a modular and layered architecture.

  4. Ecosystem and Community Support: The ecosystems and community support for .NET, Node.js, and Spring are also distinct. .NET has a robust ecosystem with a wide range of libraries, tools, and frameworks developed by Microsoft and the community. Node.js has a vast ecosystem powered by its package manager, NPM, which provides access to a wealth of open-source modules. Spring has a mature and extensive ecosystem built around Java, with a large number of libraries and frameworks developed by the Spring community.

  5. Integration and Interoperability: Integrating with other systems and technologies is another area where these frameworks differ. .NET, being a Microsoft product, has seamless integration with other Microsoft technologies and platforms, such as Azure. Node.js has excellent support for HTTP, making it suitable for building web APIs and microservices. Spring provides excellent integration with Java EE technologies and supports various enterprise integration patterns.

  6. Development Paradigm: Lastly, .NET, Node.js, and Spring have different development paradigms. .NET focuses on object-oriented programming and provides a full-featured framework for building robust web applications. Node.js, being JavaScript-based, follows a non-blocking, event-driven programming model that allows for high concurrency and real-time applications. Spring follows the principles of dependency injection and inversion of control, promoting modular and testable code.

In summary, .NET, Node.js, and Spring differ in terms of programming languages, runtime environments, architectures, ecosystems, integration capabilities, and development paradigms. Understanding these differences can help developers choose the most suitable framework for their project requirements and technical preferences.

Advice on .NET, Node.js, and Spring
Needs advice
on
ASP.NETASP.NETJavaScriptJavaScript
and
Node.jsNode.js

I am about to complete my graduation with a computer science background. I want to pursue my career in software development. My front-end knowledge is very poor. I didn't like PHP so I didn't go for Laravel. My university offers a course on ASP.NET, I liked C# that's why I took asp.net. But now I think .net tech is unnecessarily complicated and most of the job offers available for .net are not for freshers. Should I try js and Node.js now? I mean as a fresher which tech stack should I choose for web development(Backend)?

See more
Replies (2)
Anthony Chiboucas
Software Engineer & Support Operations Lead · | 5 upvotes · 96.1K views
Recommends
on
JavaScriptJavaScriptNode.jsNode.js

Just don't .NET. It was a failed idea from the start. Node and javascript are easier to learn, with much wider adoption, and more active communities.

.NET is an old experiment in using a markup language to separate the UI from the business logic. The idea was that this would allow a small team of hyper-competent engineers to build the tooling and code for a large team of less-skilled front-end developers to leverage. In practice, leveraging that customized UI markup requires understanding and adjusting the underlying code. The result is that any UI change requires a hyper-competent .NET engineer.

However, many larger companies bought into it a long time ago, and now have a hard dependency on old monolithic .NET ecosystems, and they do need .NET developers to maintain them.

So, you can get a well paying .NET job without much difficulty. However, you'll neither like it, nor be doing anything interesting. There's no growth here, only a very long slow death of .NET (that'll probably take another 20 years).

Node and Javascript are sticking around, and still growing.

See more
Mahmoud Gabr
Software engineer at AlgoDriven · | 4 upvotes · 96.3K views
Recommends
on
ASP.NETASP.NET

What I can see, you are confusing yourself, if you studied .Net now it's better to work as .Net developer, and you will find opportunities as fresh. Just search and don't waste your time. After you get more experience in .Net, then you can learn NodeJS if you still need to learn it.

See more
Needs advice
on
SpringSpring
and
Spring BootSpring Boot

Hello Guys

I am a newbie here and not very well experienced with different stacks. I have primarily programmed in C lang/C++ and am somewhat proficient in it.

I am now considering taking up Spring as a new framework to learn to get into Web dev as I know a little Java. But I have concerns about choosing it and am confused with JavaScript frameworks.

Could you please tell me which stack should I choose from?

See more
Replies (2)
Recommends
on
QuarkusQuarkus

What is your objective here? It sounds like this is not to solve a particular issue, but is about learning? If so, do you have a preference for things used on the front-end or the backend? That decision would typically lead down a JAVA-oriented path or a JavaScript-oriented path.

If you decide to learn JAVA, then Spring + Spring-boot is a very relevant framework. A competitor is Microprofile + Quarkus. The Quarkus part is newer, but gaining a lot of traction.

See more
Recommends
on
Spring BootSpring Boot

Javascript is not a framework, it's programming language that can run in browser or as server side application developed with node.js framework.

See more
Aleyna ARSLAN
Entrepreneur at Oblong Digital Marketing & Ads · | 5 upvotes · 94.6K views
Needs advice
on
DjangoDjango
and
.NET.NET
in

Hi everyone, I have a new venture project, we do frontend development mainly with Tailwind CSS, JavaScript, CSS, HTML, and React. This project will run on a cloud platform and it will be a web platform with data analysis. At Backend, we can't decide which technology to continue with. We will necessarily use Python for data analysis and algorithms, but should the backend be written with Django or C# .NET, can I get your suggestions within the cloud platform? Price performance is our priority.

See more
Replies (2)
Miles Fawcett
Recommends
on
DjangoDjango

If you are already committed to Python for the data analysis then it would make sense to use Django for the framework and stick with Python throughout. In general the fewer technologies you use (unless there is real justification) will improve process and long term costs.

All things being equal the fact you would not have less (likely no) licensing costs with a Python based solution will overall reduce your long term costs.

See more
Recommends
on
DjangoDjango

If you will be doing data analysis and complex algorithms Django is best suited for this because of it' maturity and the huge communities providing lots of Python libraries for data analysis and more.

See more
Needs advice
on
DjangoDjangoRailsRails
and
SpringSpring
in

Hi everyone! I'm starting a personal project that I've been postponing for a little while and I'm starting with the backend first.

  • It's an app that needs to query open APIs (It could go up to a hundred APIs) and do filtering and other manipulations onto the data and then store it in my own database. So basically, the end result medium/long term is a lot of data!

  • Besides filtering/storing data from other APIs, the API will interact with my client application. I should note that the client app attempts to give real-time information.

Question: I would want to launch the API within 6 months as I'm also planning to make it available for other devs through platforms like RapidAPI. With all being said, my question is twofold:

  1. Which backend framework would allow me to do these operations with the best response time possible?

  2. Which framework would be the easiest to deal with deployment on AWS?

Background:

I have a background in Spring since I'm using it at work, I have none in Rails and Django but I don't mind trying something new as long as the learning curve isn't crazy. I know python but not Ruby. Beginner on AWS and choose that one after some research.

Thank you very much, sorry it was a bit long. Cheers

See more
Replies (1)
Jorge Velasco
Full Stack Developer at Fintual · | 8 upvotes · 96.2K views

The most relevant part is the central architecture more than the specific backend. For me, it makes sense to go for an event-driven solution. In this case, an event is emitted on every new data, and one or more listeners react to it. In AWS, you can easily get this by storing your data in DynamoDB, which is pretty fast, and have as many lambdas working on the received data (here you can find more details). This way, you keep your worker(s) busy fetching data while others consolidate it. I wouldn't get too crazy on the lambdas, and I'd start with one as there will be only one client by your description. My only concern is how similar the APIs you're consuming are. Depending on that, it may be easier to have different lambdas by target API. My only note on the backend language is that if you want low latency, I'd discard Python and Ruby and choose Go (I know that is not in the list, but given that you're open to learning a new language, you could give it a try). It is easy to learn, has excellent performance, and is the only Lamdba runtime with an X (1.X) in the supported language, making it a great choice.

See more
Needs advice
on
DjangoDjango
and
Node.jsNode.js
in

Situation: I need to make a website for my Final Year Project. It's the website for brain analysis. The website features include chat, blogs, posts, users, payment methods. One of the main features includes the use of AI, which I know only in Python.

Decisions and Confusions: I decided to make two backends and one front-end. One backend will be using Django with GraphQL/RestAPI that will be running my AI models. The other backend is for the website. It will add users, chat, post, etc. I'm thinking of using TypeScript, Prisma, ExpressJS, GraphQL, MongoDB/PostgreSQL.

Please guide me to the latest and stable tech stack I can use. Because one of the requirements of our Final Year Project is to use the latest tech stacks. 1st Backend advice? (This will be used to run AI models) 2nd Backend advice? Frontend to 2nd Backend advice?

Thank you.

See more
Replies (2)

Hey there 👋,

Daniel from the Prisma team here.

I think your choice of a stack would work well for your final year project.

Some recommendations: - Use PostgreSQL if you need a stable stack. Prisma support for MongoDB is currently in Preview and therefore isn't stable. Moreover, PostgreSQL being a relational database enforces a schema more strictly than MongoDB which is useful given that your data model involves multiple relations. - If your Django backend exposes a REST API, you can also expose it over the GraphQL API by proxying requests from the GraphQL API to the REST API. That way, you have a unified API for all operations. This is typically known as wrapping. - Regarding the GraphQL part, I would consider looking at Nexus and nexus-prisma.

For inspiration, check out the Prisma Examples ​repository which contains many ready-to-run examples.

Here's another fully-fledged example using Prisma, Fastify, GraphQL, and PostgreSQL: https://github.com/2color/fastify-graphql-nexus-prisma

See more
Recommends
on
FastAPIFastAPIKubernetesKubernetes

Hi. Maybe you can try use FastAPI instead Django https://fastapi.tiangolo.com It could be faster. The FastAPI documentation is so useful and elegant.

Also you can try split a little more the backend and use an "microservice" architecture. Using Kubernetes to deploy your services.

See more
Abdullah Adeel
Needs advice
on
DjangoDjangoNode.jsNode.js
and
RedisRedis

Hey everyone, I am planning to start a personal project that would be yet another social media project with real-time communication facilities like one-to-one chat, group chat, and later voice and video chat using WebRTC. The thing I am concerned about is Django being able to handle all the real-time stuff using websockets. I can use Django Channels, but I don't think that would be a very scalable solution. Moreover, django_channels require alto of configurations, and deployment is also a pain. My plan is to use a separate Node.js server to handle all the socket connections and have it talk to the main django server through Redis. My question is whether the above-mentioned solution is a good choice? If yes, how this can be achieved, keeping in mind all the authentication other related problems. It might be simple, but I have never done this before, which might be the main reason I am concerned. But any suggestion will be appreciated.

Thanks in advance 😊

See more
Replies (1)
Sergey St.

Try to do it with less - Nodejs + Redis + socket.io, optionally you can always communicate with django, but you can do it all in Nodejs, use pm2 and cluster too. For Redis you can also use Pub/Sub, is a good combination for future scaling.

See more
Needs advice
on
DjangoDjango
and
.NET.NET

I'm working in a university in the IT department where they are developing web Apps with a .NET framework, and I'm starting a master course with python (python programming, ML, AI, NLP, and Django). My manager doesn't mind using any technology. Please guide me. Should I go to learn .NET with Django or stick with Django? What is the best for the future?

See more
Replies (2)
Lukas Batteau
Recommends
on
FastAPIFastAPIFlaskFlask
at

Since the course is in Python, a Python web framework seems like a logical choice. Django is a good option, but Flask and FastAPI are far more lightweight than Django, and great for quickly adding an API on top of your ML/NLP code. Django has its merits, especially the generated admin interface, but requires a lot of boilerplate code.

See more
Alvin Mites
Recommends

The one thing I wouldn't do is mix the two, different structures and ideas for how to do things

Taking a class in python already? I'd lean to Django Want to learn a language that will carry forward to a good paying job .net

Python is an excellent language, though it's often being replaced with things like go which uses a similar syntax

Over time you're going to learn many languages if you want to be a great programmer spend your time with one and dive deep, learn what makes it shine and what the draw backs are grow proficient with it and then consider learning something different so you can compare

Early on learning a single language at depth is more important than tinkering with several or learning any specific language

Good luck

See more
Needs advice
on
DjangoDjango.NET Core.NET Core
and
Node.jsNode.js

Looking for Advice! I am developing a hybrid app for video streaming, I have a prior experience with .NET Core and would like to use it for my back end but the latest buzz on characteristics of Node.js such as light weight, event loop and Async capabilities is really tempting me to reconsider my decision. On a quick research I could observe that a lot of Internet companies use either Python Django or Node JS for their back end which has thrown me into confusion, looking for an expert advice, thx.

See more
Replies (5)
Brandon Miller
Recommends
on
GolangGolang

If you want to create a reliable video streaming service, you'll probably want to go with a UDP approach. TCP will throw an exception as soon as a packet drops. That being said..... Node.js is ultimately a bad choice. Way too high-level. I've found, when working with UDP, it's much more performant on lower level languages like C, etc. As far as my recommendation, if you want to go with something 'new' and fun, check out GoLang. It's low level, and developed to handle high performance at scale.

See more
anas mattar
Technical Lead at DPO International · | 5 upvotes · 199.6K views
Recommends
on
.NET Core.NET Core

That's depend on your experience if you are very well in C# you should start using the Technology that's you know and like it.

See more

So none of these tools may be bad for your implementation of this streaming app. But one thing to consider is what are you trying to achieve. If your application is more front end facing with streaming to a backend service C# may be your better implementation path just due to its greater overall versatility in terms of options for mobile, backend development, front end development, service development, etc... However if your focused purely on the streaming aspects and utilizing Amazon or Azure services in conjunction with the language of choice, Python, Node.Js, Django or other technologies may offer a faster option to success. Another thing to consider is many of the streaming platforms today utilize services from cloud vendors to achieve their success more than simply the ingenuity on the part of their internal staff's programming skills. Traditional programming languages like Java, C++, C# are used less these days. Today most teams are piggybacking off these services where its possible to give your application the greatest ability to compete with the big boys. - Your Friendly Neighborhood Tech Manager

See more
Aslam Mohammad
Systems Engineer at Infosys · | 2 upvotes · 184.4K views
Recommends
on
DjangoDjangoNode.jsNode.js

You could apparently go for both Node or Django but I would recommend choosing Node as you're building a video streaming app and the biggest video streaming service Netflix used Node in the production.

See more
Pavel Nekrasov
MyOpenTour at MyOpenTour · | 1 upvotes · 161.5K views
Recommends
on
fastapifastapi
at

Take a look at FastAPI if you are going to choose Python

See more
Needs advice
on
LaravelLaravel
and
Node.jsNode.js

What will be better Laravel or Node.js to handle a logistics portal which displays thousands (20-50k) of delivery data information in an interactive table (searchable, filterable), live delivery tracking, basic user management, and report creation?

Data comes usually in CSV (manually uploaded or via API from courier companies). Live tracking uses checks tracking numbers on the courier page using API.

See more
Replies (1)
Francis Rodrigues
Recommends
on
LaravelLaravelNode.jsNode.js

My question for you is: "Which one are you familiar with?" Following your needs, both could do it, but think about it. Now talking about Node.js, in my opinion, if you use JavaScript, there are lots of packages to support your entire project, including native ones for testing TDD and others for BDD. Also the best support on AWS (Amazon Web Services) and GCP (Google Cloud Platform).

See more
Needs advice
on
DjangoDjangoJavaJava
and
Node.jsNode.js

I am starting a new project to build a simple ERP system for small businesses, where the owners can also manage orders on their phones.

I have decided to use JavaScript & React on the front-end and MySQL for the database. But I am really struggling to pick a backend language. I'm familiar with Node.js, but when I search for ERP (CRM & order mgt) projects on Youtube, I see that most build with Python (Django). Many also recommend Java.

So I'm a little confused. Please advice.

See more
Replies (9)
Luiz H. Rapatão
Staff Software Engineer at rapatao.com · | 8 upvotes · 212.5K views
Recommends
on
Node.jsNode.js

There is no problem to keep using node.js for your backend. Keep in mind that you already have expertise in it, so you could focus on development instead of to learn a new syntax/framework. There are good libraries in node.js that could help you in the development (services, validations, integrations, etc) also keeps you with a single language to the whole system. Django, as far as I know, it will provide a solid base for you, but it could be too much for your purpose, also could be more complex than you could need. Java provides to you many frameworks to simplify your integrations also could achieve a good performance. Anyway, I recommend you to follow using node.js, since you already know the syntax/platform.

See more
Recommends
on
DjangoDjango

Django is best suited for your requirement and has a very good community base to reach out for any queries. I have myself built and seen a lot of stuffs which match your requirement.

See more
Recommends
on
Node.jsNode.js

Hello, Node.js is simply a better option than python if you wish to make your application real-time operations. Also Node.js is a better choice than python for server side development.

But let's get your problem now. For most ERP projects, Node.js is a better choice. Also, since you are already familiar with Node.js, continue with it. Personally, I think Node.js is way better than Django mainly because JS is the god of ERP projects. Java is a good counterpart though.

See more
Mukesh PM
Recommends
on
Node.jsNode.js

I personally suggest NodeJs as you are also familiar with it. Even nodeJS has its own strong frameworks such as NestJS, Loopback etc. And the community is pretty much strong though. If you are looking for a faster development , then always you can go for NodeJS. And its pretty fast though.

See more
Sinisha Mihajlovski
Design Lead | Senior Software Developer · | 3 upvotes · 202.6K views
Recommends
on
SugarCRMSugarCRM

Will you build it from scratch? There are some open source ERP/CRM solutions that you can use as a base for your solution. SugarCrm is an example. By looking at those, you can then decide which language you'll use for the backend.

See more
Ruslan Rayanov
Recommends

I can recommend you a flexible constructor for this purpose. To create a system, you only need sql, and you can connect to any database without any problems. Please see the introductory article about the features, and if you are interested, I can provide access to the test site. My contacts for communication are on the site page https://falconspace.site/docs/vvedenie-v-falcon-space--c-chego-nachat https://falconspace.site/for-it

See more
Nicolai Kamphenkel
Full-Stack-Engineer at Kamphenkel Datensysteme GmbH · | 2 upvotes · 201K views
Recommends
on
AdonisJSAdonisJSNode.jsNode.js

Hey if you are allready familar with nodejs then just go with it. There are some very nice frameworks out there that can be hold with the big ones.

Examples: AdonisJS or SailsJS

AdonisJS is even very similar like django.

See more
John Nguyen

Go with Node.js and use a framework. I can recommend NestJS or Fastifiy as a Backend Framework. They both have a strong community and Fastify is the successor of Express but much faster.

See more
anas mattar
Technical Lead at DPO International · | 2 upvotes · 199.6K views
Recommends

I prefer to use Node.js because you have experainse in it and also you can do anything for this language.

See more
Decisions about .NET, Node.js, and Spring
Kane Jason
Agile Developer at Ace Infoway · | 6 upvotes · 37.1K views

Selecting an appropriate back-end technology requires vital consideration of the variables like speed, reliability, and scalability. Know the features of the best 4 back-end frameworks to select an appropriate one for your project.

Thus, to comprehend why backend frameworks are essential for web app development and detailed analysis of the best backend frameworks, read our latest blog post.

See more
Noe Osorio

Node Js have worked incredible great for me on every project I had. It is fast enough to support big and small apps, you do not have to worry about performance, because it is very capable of building a big REST API.

One advantage is that the learning curve is lower when you have used javascript on web browser as frontend, so, it is easy to migrate from Frontend to Backend with node.

Node Package Manager (NPM) has an incredible amount of packages from many developers, so you can use them on your project as you need them.

Code is easy to support, way different than Java Legacy code.

See more

We choose Next.js for our React framework because it's very minimal and has a very organized file structure. Also, it offers key features like zero setups, automatic server rendering and code splitting, typescript support. Our app requires some loading time to process the video, server-side rendering will allow our website to display faster than client-side rending.

See more
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 12 upvotes · 375.7K views

I was considering focusing on learning RoR and looking for a work that uses those techs.

After some investigation, I decided to stay with C# .NET:

  • It is more requested on job positions (7 to 1 in my personal searches average).

  • It's been around for longer.

  • it has better documentation and community.

  • One of Ruby advantages (its amazing community gems, that allows to quickly build parts of your systems by merely putting together third party components) gets quite complicated to use and maintain in huge applications, where building and reusing your own components may become a better approach.

  • Rail's front end support is starting to waver.

  • C# .NET code is far easier to understand, debug and maintain. Although certainly not easier to learn from scratch.

  • Though Rails has an excellent programming speed, C# tends to get the upper hand in long term projects.

I would avise to stick to rails when building small projects, and switching to C# for more long term ones.

Opinions are welcome!

See more
Omran Jamal
CTO & Co-founder at Bonton Connect · | 7 upvotes · 585.5K views

We actually initially wrote a lot of networking code in Kotlin but the complexities involved prompted us to try and compile NodeJS for Android and port over all the networking logic to Node and communicate with node over the Java Native Interface.

This turned out to be a great decision considering our battery usage fell by 40% and rate of development increased by a factor of 2.

See more
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 9 upvotes · 499K views

Decided to change all my stack to microsoft technologies for they behave just great together. It is very easy to set up and deploy projects using visual studio and azure. Visual studio is also an amazing IDE, if not the best, when used for C#, it allows you to work in every aspect of your software.

Visual studio templates for ASP.NET MVC are the best I've found compared to django, rails, laravel, and others.

See more

As a small team, we wanted to pick the framework which allowed us to move quickly. There's no option better than Rails. Not having to solve the fundamentals means we can more quickly build our feature set. No other framework can beat ActiveRecord in terms of integration & ease-of use. To top it all of, there's a lot of attention paid to security in the framework, making almost everything safe-by-default.

See more

Hey guys,

My backend set up is Prisma / GraphQL-Yoga at the moment, and I love it. It's so intuitive to learn and is really neat on the frontend too, however, there were a few gotchas when I was learning! Especially around understanding how it all pieces together (the stack). There isn't a great deal of information out there on exactly how to put into production my set up, which is a backend set up on a Digital Ocean droplet with Prisma/GraphQL Yoga in a Docker Container using Next & Apollo Client on the frontend somewhere else. It's such a niche subject, so I bet only a few hundred people have got a website with this stack in production. Anyway, I wrote a blog post to help those who might need help understanding it. Here it is, hope it helps!

See more

This basically came down to two things: performance on compute-heavy tasks and a need for good tooling. We used to have a Meteor based Node.js application which worked great for RAD and getting a working prototype in a short time, but we felt pains trying to scale it, especially when doing anything involving crunching data, which Node sucks at. We also had bad experience with tooling support for doing large scale refactorings in Javascript compared to the best-in-class tools available for Java (IntelliJ). Given the heavy domain and very involved logic we wanted good tooling support to be able to do great refactorings that are just not possible in Javascript. Java is an old warhorse, but it performs fantastically and we have not regretted going down this route, avoiding "enterprise" smells and going as lightweight as we can, using Jdbi instead of Persistence API, a homegrown Actor Model library for massive concurrency, etc ...

See more

I was researching multiple high performance, concurent//parallel languages for the needs of authentication and authorization server, to be built on microservice architecture and Linux OS. Node.js with its asynchronous behavior and event loop suits the case best. Python Django & Flash turns to be slower and .NET Core & Framework wasn't the best choice for the Linux environment at the time (summer 2018).

I also tested Go lang and Rust, although they didn't meet the quick prototyping criteria as both languages are young and lacking libraries or battle-tested ORM.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of .NET
Pros of Node.js
Pros of Spring
  • 272
    Tight integration with visual studio
  • 261
    Stable code
  • 190
    Great community
  • 182
    Reliable and strongly typed server side language.
  • 140
    Microsoft
  • 119
    Fantastic documentation
  • 89
    Great 3rd party libraries
  • 80
    Speedy
  • 71
    Great azure integration
  • 63
    Great support
  • 34
    Highly productive
  • 34
    Linq
  • 34
    C#
  • 31
    High Performance
  • 28
    Great programming languages (C#, VB)
  • 26
    Open source
  • 19
    Powerful Web application framework (ASP.NET MVC)
  • 16
    Fast
  • 16
    Clean markup with razor
  • 15
    Powerful ORM (EntityFramework)
  • 14
    Dependency injection
  • 10
    Visual studio + Resharper = <3
  • 10
    Constantly improving to keep up with new trends
  • 9
    High-Performance
  • 8
    TFS
  • 8
    Security
  • 7
    Job opportunities
  • 7
    Integrated and Reliable
  • 7
    Huge ecosystem and communities
  • 6
    Light-weight
  • 6
    Lovely
  • 5
    {get; set;}
  • 5
    Variations
  • 5
    Asynchrony
  • 4
    Scaffolding
  • 4
    Support and SImplicity
  • 4
    Default Debuging tools
  • 4
    Concurrent
  • 4
    Useful IoC
  • 4
    Entity framework
  • 3
    Nuget package manager
  • 3
    Blazor
  • 2
    F♯
  • 1.4K
    Npm
  • 1.3K
    Javascript
  • 1.1K
    Great libraries
  • 1K
    High-performance
  • 805
    Open source
  • 486
    Great for apis
  • 477
    Asynchronous
  • 423
    Great community
  • 390
    Great for realtime apps
  • 296
    Great for command line utilities
  • 84
    Websockets
  • 83
    Node Modules
  • 69
    Uber Simple
  • 59
    Great modularity
  • 58
    Allows us to reuse code in the frontend
  • 42
    Easy to start
  • 35
    Great for Data Streaming
  • 32
    Realtime
  • 28
    Awesome
  • 25
    Non blocking IO
  • 18
    Can be used as a proxy
  • 17
    High performance, open source, scalable
  • 16
    Non-blocking and modular
  • 15
    Easy and Fun
  • 14
    Easy and powerful
  • 13
    Future of BackEnd
  • 13
    Same lang as AngularJS
  • 12
    Fullstack
  • 11
    Fast
  • 10
    Scalability
  • 10
    Cross platform
  • 9
    Simple
  • 8
    Mean Stack
  • 7
    Great for webapps
  • 7
    Easy concurrency
  • 6
    Typescript
  • 6
    Fast, simple code and async
  • 6
    React
  • 6
    Friendly
  • 5
    Control everything
  • 5
    Its amazingly fast and scalable
  • 5
    Easy to use and fast and goes well with JSONdb's
  • 5
    Scalable
  • 5
    Great speed
  • 5
    Fast development
  • 4
    It's fast
  • 4
    Easy to use
  • 4
    Isomorphic coolness
  • 3
    Great community
  • 3
    Not Python
  • 3
    Sooper easy for the Backend connectivity
  • 3
    TypeScript Support
  • 3
    Blazing fast
  • 3
    Performant and fast prototyping
  • 3
    Easy to learn
  • 3
    Easy
  • 3
    Scales, fast, simple, great community, npm, express
  • 3
    One language, end-to-end
  • 3
    Less boilerplate code
  • 2
    Npm i ape-updating
  • 2
    Event Driven
  • 2
    Lovely
  • 1
    Creat for apis
  • 0
    Node
  • 230
    Java
  • 157
    Open source
  • 136
    Great community
  • 123
    Very powerful
  • 114
    Enterprise
  • 64
    Lot of great subprojects
  • 60
    Easy setup
  • 44
    Convention , configuration, done
  • 40
    Standard
  • 31
    Love the logic
  • 13
    Good documentation
  • 11
    Dependency injection
  • 11
    Stability
  • 9
    MVC
  • 6
    Easy
  • 3
    Makes the hard stuff fun & the easy stuff automatic
  • 3
    Strong typing
  • 2
    Code maintenance
  • 2
    Best practices
  • 2
    Maven
  • 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 .NET
Cons of Node.js
Cons of Spring
  • 13
    C#
  • 12
    Too expensive to deploy and maintain
  • 8
    Microsoft dependable systems
  • 8
    Microsoft itself
  • 5
    Hard learning curve
  • 3
    Tight integration with visual studio
  • 3
    Not have a full fledged visual studio for linux
  • 1
    Microsoft itself 🤡🥲
  • 46
    Bound to a single CPU
  • 45
    New framework every day
  • 40
    Lots of terrible examples on the internet
  • 33
    Asynchronous programming is the worst
  • 24
    Callback
  • 19
    Javascript
  • 11
    Dependency hell
  • 11
    Dependency based on GitHub
  • 10
    Low computational power
  • 7
    Very very Slow
  • 7
    Can block whole server easily
  • 7
    Callback functions may not fire on expected sequence
  • 4
    Breaking updates
  • 4
    Unstable
  • 3
    Unneeded over complication
  • 3
    No standard approach
  • 1
    Bad transitive dependency management
  • 1
    Can't read server session
  • 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

What is .NET?

.NET is a general purpose development platform. With .NET, you can use multiple languages, editors, and libraries to build native applications for web, mobile, desktop, gaming, and IoT for Windows, macOS, Linux, Android, and more.

What is Node.js?

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

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!

What companies use .NET?
What companies use Node.js?
What companies use Spring?

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

What tools integrate with .NET?
What tools integrate with Node.js?
What tools integrate with Spring?

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

Blog Posts

Git.NETCloudBees+3
7
1090
Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
981
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
5
3867
Node.jsnpmKubernetes+6
1
1467
GitNode.jsFirebase+5
7
2392
What are some alternatives to .NET, Node.js, and Spring?
ASP.NET
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
See all alternatives