.NET vs Node.js vs Spring

Get Advice Icon

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

.NET
.NET

4.3K
2.6K
+ 1
1.5K
Node.js
Node.js

45K
39K
+ 1
8K
Spring
Spring

2.3K
2.1K
+ 1
978

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.
Get Advice Icon

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

Why do developers choose .NET?
Why do developers choose Node.js?
Why do developers choose Spring?

Sign up to add, upvote and see more prosMake informed product decisions

Sign up to add, upvote and see more consMake informed product decisions

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

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.
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Laravel
It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.
Rails
Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
Android SDK
Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment.
See all alternatives
Decisions about .NET, Node.js, and Spring
John-Daniel Trask
John-Daniel Trask
Co-founder & CEO at Raygun · | 23 upvotes · 179.8K views
atRaygunRaygun
.NET
.NET
Node.js
Node.js
#Languages
#FrameworksFullStack

The core Web application of Raygun is still a Microsoft ASP.NET MVC application. Not too much has changed from a fundamental technology standpoint. We originally built using Mono, which just bled memory and would need to be constantly recycled. So we looked around at the options and what would be well suited to the highly transactional nature of our API. We settled on Node.js, feeling that the event loop model worked well given the lightweight workload of each message being processed. This served us well for several years.

When we started to look at .NET Core in early 2016, it became quite obvious that being able to asynchronously hand off to our queuing service greatly improved throughput. Unfortunately, at the time, Node.js didn’t provide an easy mechanism to do this, while .NET Core had great concurrency capabilities from day one. This meant that our servers spent less time blocking on the hand off, and could start processing the next inbound message. This was the core component of the performance improvement.

We chose .NET because it was a platform that our team was familiar with. Also we were skilled enough with it to know many performance tips and tricks to get the most from it. Due to this experience, it helped us get to market faster and deliver great performance.

#Languages #FrameworksFullStack

See more
Spenser Coke
Spenser Coke
Product Engineer at Loanlink.de · | 9 upvotes · 245.5K views
atLoanlink GmbhLoanlink Gmbh
Rails
Rails
AngularJS
AngularJS
.NET
.NET
Node.js
Node.js
React
React
GitHub
GitHub
Trello
Trello
Zapier
Zapier
Mailchimp
Mailchimp
Google Drive
Google Drive
Vue.js
Vue.js
HTML5
HTML5

When starting a new company and building a new product w/ limited engineering we chose to optimize for expertise and rapid development, landing on Rails API, w/ AngularJS on the front.

The reality is that we're building a CRUD app, so we considered going w/ vanilla Rails MVC to optimize velocity early on (it may not be sexy, but it gets the job done). Instead, we opted to split the codebase to allow for a richer front-end experience, focus on skill specificity when hiring, and give us the flexibility to be consumed by multiple clients in the future.

We also considered .NET core or Node.js for the API layer, and React on the front-end, but our experiences dealing with mature Node APIs and the rapid-fire changes that comes with state management in React-land put us off, given our level of experience with those tools.

We're using GitHub and Trello to track issues and projects, and a plethora of other tools to help the operational team, like Zapier, MailChimp, Google Drive with some basic Vue.js & HTML5 apps for smaller internal-facing web projects.

See more
Brandon Stirnaman
Brandon Stirnaman
Architect at Blackbaud · | 5 upvotes · 4.3K views
atBlackbaudBlackbaud
.NET
.NET

I chose .NET Core because it finally let me work natively on my macOS and Linux machines but collaborate with coworkers using Windows. Devs use the devices that they feel most capable with.

Having services that can run without changes on Linux let us migrate to containerized deployments on Kubernetes without much effort. The performance we've gotten from small ASP.NET Core services running on Alpine images has been great.

While the versioning of SDK and libraries/meta packages/etc has been kind of nuts.. We also keep getting new features that are really valuable and easy to package into our services.

Just rolling out v3 of the WebJobs SDK which brought simpler DI, filters and more to our Async backend workers. Also preparing to run v2 of Functions in our Azure Kubernetes cluster with virtual-kubelet.

In the last year, the community has finally started heavily moving towards NETStandard 2.0 which has eliminated some of our last points of frustration -- not finding compatible clients/libraries/tools that we could use from .NET Core apps (and, funny enough our older .NET Framework apps too!).

We're all in on .NET Core now.

See more
.NET
.NET
Visual Studio
Visual Studio
Visual Studio Code
Visual Studio Code
Docker
Docker
Kubernetes
Kubernetes

I have been working in .NET for more than 10 years. As an architect, I understand that enterprises want to lower costs. Full .NET framework, although excellent, has lot of costs around it - starting from Visual Studio for development (Enterprises cannot use Community edition) to Windows Server licensing for hosting. .NET Core makes development faster, cheaper and accessible to anyone. It is easier to convince bosses to go with .NET Core than with the full framework. With Visual Studio Code, development teams can install it in minutes compared to the full day they had to submit their laptop to IT team to get full Visual Studio installed. .NET Core is also highly performant and has been my choice for an IoT project that I have been executing with microservices running in a Docker container managed by Kubernetes! Unless I have a specific need, I preach the gospel of .NET Core.

See more
Jonathan Kight
Jonathan Kight
at Blizzard Entertainment · | 2 upvotes · 6.5K views
.NET
.NET

I use .NET because of its community and Microsoft's commitment to open source. Game backends require many different design strategies, ranging from latency sensitive customer facing services to high-throughput eventually consistent data pipelines. Performance, tooling, and predictability are qualities that make these services successful and .NET helps me get there by having framework features which promote quick prototyping, but are mature enough to harden for production.

See more
Sparker73
Sparker73
Frontend Developer · | 8 upvotes · 23.2K views
Node.js
Node.js
JavaScript
JavaScript
.NET
.NET
PHP
PHP

Node.js is my choice because it uses very few resources to run and it is capable to handle tons of connections simultaneously. Most developers already know JavaScript, the evolution of ECMAScript is immediately reflected to Node.js and all you have to do is update your Server's Node.js version without time and effort. Thousands of improvements that makes it very powerful especially in asynchronous programming. The web is full of courses, dev communities, free sample code, plunkers and many knowledge sources on Node.js that facilitates the learning curve. What else we can ask from a legendary language that is still evolving? I am learning Node.js by developing a simple REST WebAPI and using it as a playground to test situations in which the main objective is to challenge Node.js and compare results and performance with .NET implementations and certain well known fast PHP implementations. Until now the results are astonishing. Summarizing: Node.js for backend is so far (in my opinion) the most recommended solution to get positive achievements in size, speed, power, concurrency, scalability, deployment and running costs.

See more
.NET
.NET

I use .NET Core 2.1 because it allows me to bring my OSS applications cross-platform. We're using .NET Core for everything since version 1.1- both front and back end services, or windows services. Moving to newer versions did cause us some problems though, because of the too many breaking changes brought by those versions. We really like dotnet cli extensibility model "DotnetCliTool", because we create plugin for docker build, reportgenerator.

See more
Richard Harding
Richard Harding
Delivering .Net consultancy at Sprydon Designs · | 1 upvotes · 11.4K views
.NET
.NET

I use .NET because because it allows me to use a functional language like F# and still get the benefit of a massively rich ecosystem of libraries and tools. Coupled with the ability to target different OSs and platforms (from cloud to mobile to IoT) it really feels like a solid investment. In my current contract we are using .Net to build REST APIs and websites - we do this using F# and the Giraffe framework (a functional wrapper on Asp.Net Core) allowing us to benefit from teh advantages of functional approach and yet leverage security and speed of Asp.Net Core. We package these as Docker containers based on an Alpine image and deploy into Azure manage Kubernetes service in the form of Helm Charts. The build and continuous delivery are handled by Azure Dev Ops.

See more
DaveAurionix
DaveAurionix
at GivePenny · | 6 upvotes · 17.4K views
atGivePennyGivePenny
.NET
.NET
Azure Kubernetes Service
Azure Kubernetes Service

Context: GivePenny is the charity sponsorship platform for the modern world. We are re-platforming onto .NET Core-based microservices and ReactJS-based micro-frontends in Docker containers hosted on Azure Kubernetes Service.

We use .NET Core because of the easily attainable high quality bar for our microservices. We love the succinct yet clear C# language making code easy to read. We rate the advantages of the strongly-typed aspect of C# and of compiled (so type-checked) unit tests in a "backend" service context. The test stack and tooling support in Visual Studio around service tests, contract management, unit tests, web APIs and publish/subscribe message handlers is easy to work with. The easy integration between Visual Studio and Azure Resource Manager based infrastructure, Azure DevOps, Nuget and Docker makes build, publishing, release and hosting very easy. The cross-platform nature of .NET Core allows Windows and Linux developers to co-exist and services to be hosted on multiple platforms.

See more
.NET
.NET
C#
C#
Kubernetes
Kubernetes
Kafka
Kafka

I started using .NET in the early 2000s. Ever since version .NET 3.5 (and even .NET 2.0 if we take a proper generics implementation into account), C# was dominating in the feature battle against its rival, yet wasn't advancing significantly in the product coverage due to its platform dependency.

Thus I was very excited to hear the news about plans to develop an open-sourced cross-platform .NET Core framework. We started using .NET Core in production from version 1.1, and a global decision to migrate the entire solution to .NET Core was made with the release of .NET Core 2.0. Now we have more than 100 .NET Core (micro)services running on Linux containers inside Kubernetes, using Kafka for reactive communications and a number of open-source relational and NoSQL storage engines.

See more
François Raminosona
François Raminosona
Consultant Xamarin at Cellenza · | 1 upvotes · 14.1K views
.NET
.NET

I use .NET because of the quality of the environment, for every need there is a .NET solution for doing it. The Microsoft solution for doing anything is well documented and the community is very active. The .NET Stack is full, meaning there is everything a stack need, every part : database, server, cloud, AI, mobile, backends and frontends. And of course : IDE => Visual Studio ! There is no competition to Visual Studio.

See more
Luis Beltran
Luis Beltran
at TecNM IT Celaya oficial · | 2 upvotes · 14.7K views
.NET
.NET

I use .NET Core basically because my code runs everywhere! Being able to host ASP .NET Core web applications on Linux, Mac, and Windows environments allows me to deliver cross-platform solutions for all my customers so they don't have to acquire specific technology/hardware anymore!

Moreover, .NET is an amazing technology which is focused on productivity: I can develop mobile, web, desktop, IoT and AI solutions and all I need is C#, a really powerful (and easy-to-learn) language. Add cloud-powered modules to the equation and you'll get a boost in your software!

See more
.NET
.NET
Azure Functions
Azure Functions
Kubernetes
Kubernetes

I first found .NET in 2003 when I first began learning to create software. Every year since then, I've watched as .NET matured into something great, and now we have .NET Core! At Contessa Health, we use .NET Core for a mixture of things including fine-grained and coarse-grained web services, worker processes for long running tasks, and for our Azure Functions that serve as a replacement for distributing our base class libraries. As a startup, we are constantly evaluating technologies to make sure we stay fresh, and we keep coming back to .NET Core because of its ecosystem, maturity of the tooling, and for its ability to help us iterate and move quickly. Take all of that and combine it with the Kubernetes ecosystem, and we have an easy way to orchestrate and compose power service offerings that meet the needs of our customers. It cannot be said enough that Microsoft’s commitment to open source has yielded incredible benefits for small companies such as ourselves. Our voices are heard, and we get to help make .NET Core better, which in turn helps everyone else.

See more
.NET
.NET
F#
F#
C#
C#
Docker
Docker
Kubernetes
Kubernetes

I've used .NET for many years, but only in recent years, after Microsoft introduced .NET Core, I've found a new love and excitement for the technology again. The main driver for us using .NET Core is not that it is cross platform compatible, open source or blazingly fast (which it is!), but the fact that we can use (what we consider) the best programming languages (mainly F# and C#) to carry out our jobs without sacrificing the other benefits.

Today we run most of our web infrastructure on .NET Core in Docker containers, deployed into a Kubernetes cluster which spans across multiple time zones in the Google Cloud and we couldn't be happier. Due to the portability of the .NET Core platform we are even able to develop many new services as serverless functions with F# which has become an absolute game changer.

See more
.NET
.NET

Our focus is on mobile. I use .NET because most of my work involves Xamarin. We haven't had a need for .NET Core lately since Xamarin covers the iOS, Android bases. .NET Core seems best suited to larger organizations who need to port and migrate between Windows, Linux, and macOS. Seems incredibly useful, particularly the Windows/Linux crossover. But for us, Mono takes care of that already in Xamarin.

See more
Interest over time
Reviews of .NET, Node.js, and Spring
Avatar of mihaicracan
Web Developer, Freelancer
Review ofNode.jsNode.js

I have benchmarked Node.js and other popular frameworks using a real life application example. You can find the results here: https://medium.com/@mihaigeorge.c/web-rest-api-benchmark-on-a-real-life-application-ebb743a5d7a3

How developers use .NET, Node.js, and Spring
Avatar of MaxCDN
MaxCDN uses Node.jsNode.js

We decided to move the provisioning process to an API-driven process, and had to decide among a few implementation languages:

  • Go, the server-side language from Google
  • NodeJS, an asynchronous framework in Javascript

We built prototypes in both languages, and decided on NodeJS:

  • NodeJS is asynchronous-by-default, which suited the problem domain. Provisioning is more like “start the job, let me know when you’re done” than a traditional C-style program that’s CPU-bound and needs low-level efficiency.
  • NodeJS acts as an HTTP-based service, so exposing the API was trivial

Getting into the headspace and internalizing the assumptions of a tool helps pick the right one. NodeJS assumes services will be non-blocking/event-driven and HTTP-accessible, which snapped into our scenario perfectly. The new NodeJS architecture resulted in a staggering 95% reduction in processing time: requests went from 7.5 seconds to under a second.

Avatar of Trello
Trello uses Node.jsNode.js

The server side of Trello is built in Node.js. We knew we wanted instant propagation of updates, which meant that we needed to be able to hold a lot of open connections, so an event-driven, non-blocking server seemed like a good choice. Node also turned out to be an amazing prototyping tool for a single-page app. The prototype version of the Trello server was really just a library of functions that operated on arrays of Models in the memory of a single Node.js process, and the client simply invoked those functions through a very thin wrapper over a WebSocket. This was a very fast way for us to get started trying things out with Trello and making sure that the design was headed in the right direction. We used the prototype version to manage the development of Trello and other internal projects at Fog Creek.

Avatar of AngeloR
AngeloR uses Node.jsNode.js

All backend code is done in node.js

We have a SOA for our systems. It isn't quite Microservices jsut yet, but it does provide domain encapsulation for our systems allowing the leaderboards to fail without affecting the login or education content.

We've written a few internal modules including a very simple api framework.

I ended up picking Node.js because the game client is entirely in JavaScript as well. This choice made it a lot easier for developers to cross borders between being "client side" game developers and "server side" game developers. It also meant that the pool of knowledge/best practices is applicable almost across the company.

Avatar of Tony Manso
Tony Manso uses Node.jsNode.js

Node.js is the foundation for the server. Using Express.js for serving up web content, and sockets.io for synchronizing communications between all clients and the server, the entire game runs as Javascript in Node.js.

I don't know how well this will scale if/when I have hundreds of people connected simultaneously, but I suspect that when that time comes, it may be just a matter of increasing the hardware.

As for why I chose Node.js... I just love JavaScript! My code is all original, meaning that I didn't have to inherit anyone's bad Javascript. I'm perfectly capable of creating my own bad Javascript, thank you! Also, npm rocks!

Avatar of Tarun Singh
Tarun Singh uses Node.jsNode.js

Used node.js server as backend. Interacts with MongoDB using MongoSkin package which is a wrapper for the MongoDB node.js driver. It uses express for routing and cors package for enabling cors and eyes package for enhancing readability of logs. Also I use nodemon which takes away the effort to restart the server after making changes.

Avatar of datapile
datapile uses SpringSpring

Spring is another gift rained down by the gods of Open Source Software (a.k.a. Pivotal Labs in this particular case) that just makes sense on all levels.

From Spring Boot, to SpringMVC, the configuration architecture & profile paradigm, Spring Cloud expandability, to the ease with which one can deploy Spring applets as microservices within Docker is an absolute joy.

Avatar of Brillium, Inc.
Brillium, Inc. uses .NET.NET

Microsoft has done an incredible job of keeping the .NET Framework powerful and stable. It is well designed and keeps getting more robust with each release. It isn't the most popular technology in this space, but I think a good case can be made to use .NET in many new projects.

Avatar of Foundbite
Foundbite uses .NET.NET

As we started on Windows Phone we use C# and .NET for most of our apps and sites. Being a small team of 2, using .NET enables us to work on each part of the service without having to switch to different languages.

Avatar of Giovanni Candido da Silva
Giovanni Candido da Silva uses SpringSpring

The core of the application use Spring Stack, to provide services and structure like:

  • Persistence
  • REST
  • Email
  • Security
  • Self contained application with spring boot
  • And many others.
Avatar of Kang Hyeon Ku
Kang Hyeon Ku uses SpringSpring

그냥 간단한 MVC 웹 프레임 워크 인줄 알았는데 정말 모듈화가 잘 되있고, 사용하다보면 개발자에게 정말 편리하게 만들어 놓았다. vaildation 부분은 따로 처리 할 수 있고, 파라미터 담는 변수와 디폴트 값을 인자로 설정해 주는 부분도 참 좋은 것 같다. 또 spring-data 는 jpa 활용해 빠르게 개발하는데 유용하다.

Avatar of Daniel Kovacs
Daniel Kovacs uses .NET.NET

I use .NET alongside with C# since my university studies, and I really enjoy it. Especially .NET Core, which is the best thing that happened to Microsoft since... ever.

Avatar of Yue Wang
Yue Wang uses .NET.NET

Server side development language and frameworks: ASP.Net MVC 4, Asp.Net WebApi 2, Razor View engine, Moq, Entity Frameworks, etc.

Avatar of ByeongGi
ByeongGi uses SpringSpring
  • SpringFramework 중 MVC , AOP 등의 라이브러리를 활용하여 웹 어플리케이션 프로젝트 구성
  • 공통 로직 구현 및 보안 처리 가능

  • Spring5에서 지원하는 함수형 프로그래밍 경험 있음

Avatar of Twincore Systems
Twincore Systems uses .NET.NET

TwinCore creates modern web and cloud applications based on .NET TwinCore supports legacy .NET applications

Avatar of Ralic Lo
Ralic Lo uses SpringSpring

Used Spring Boot and its ORM to interacting with database server for web application development.

How much does .NET cost?
How much does Node.js cost?
How much does Spring cost?
Pricing unavailable
Pricing unavailable
Pricing unavailable