.NET
.NET

3.7K
0
1.4K
Node.js
Node.js

26.1K
6.3K
7.8K
Rails
Rails

7.8K
4.2K
5.2K

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 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.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose .NET?
Why do developers choose Node.js?
Why do developers choose Rails?
What are the cons of using .NET?
What are the cons of using Node.js?
What are the cons of using Rails?
What companies use .NET?
What companies use Node.js?
What companies use Rails?
What are some alternatives to .NET, Node.js, and Rails?
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.
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Laravel
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel 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.
Spring Boot
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
Symfony
Symfony is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP. Symfony can be used to develop all kind of websites, from your personal blog to high traffic ones like Dailymotion or Yahoo! Answers.
See all alternatives
What tools integrate with .NET?
What tools integrate with Node.js?
What tools integrate with Rails?
    No integrations found
    Decisions about .NET, Node.js, and Rails
    .NET

    I use .NET because now that it is cross platform it is a perfect choice for creating small containerised web api apps that can be used in a micro-services architecture.

    C# in particular is a very mature and feature rich general purpose language. Great to be able to pivot to a predominantly Linux platform and reuse our skills and investment in .NET

    See more
    .NET

    My first introduction to .NET was in the early alpha days, back in the early 2000s. In nearly the two decades that have passed since, it has matured into a very powerful platform. .NET as a platform has always had a great deal of polish that I haven't been able to find anywhere else. The ease of use and general technical excellence of the platform meant that I was delivering value at a consistent rate and with relatively little trouble.

    That didn't make anything perfect, of course. The closed nature and the single platform that .NET was traditionally limited to took their toll. In particular, a bug fix that you found and reported might be fixed in the next release (18 months away) or not, with very little input or ability to understand what was going on.

    And then the CoreCLR came along. In 2015, we made the decision to move the all of our applications and code into the CoreCLR.

    That has been an amazing experience. The fact that I can dive into the source directly has made things so much simpler, and the fact that you can submit patches and interact directly with the core team has been an absolute joy. Our company has contributed several times (some code and mostly some interesting bug reproductions and perf issues) and has been continuously at awe at the level of commitment and (I have no other word) grace that we get from the team.

    The fact that we can now run .NET code (and our product) on Windows, Linux, Raspberry PI(!) and Mac has been a great boon to us. We recently deployed our software to a whole lot of industrial robots running custom ARM boards. That is something that would have just been unimaginable every as much as five years ago.

    In pretty much respects, the overall community, the core team, the engineering quality and the fact that it brings the polish that I've gotten so used to in environments where you are generally left cobbling things all by yourself means that it is my platform of choice for projects big and small.

    See more
    Brandon Stirnaman
    Brandon Stirnaman
    Architect at Blackbaud · | 4 upvotes · 4.1K views
    atBlackbaudBlackbaud
    .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
    Interest over time
    Reviews of .NET, Node.js, and Rails
    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 Rails
    Avatar of StackShare
    StackShare uses RailsRails

    The first live version of Leanstack was actually a WordPress site. There wasn’t a whole lot going on at first. We had static pages with static content that needed to be updated manually. Then came the concept of user-generated content and we made the switch to a full on Rails app in November of last year. Nick had a lot of experience with Rails so that made the decision pretty easy. But I had also played around with Rails previously and was comfortable working with it. I also knew I’d need to hire engineers with a lot more experience building web apps than I do, so I wanted to go with a language and framework other people would have experience with. Also, the sheer number of gems and tools available for Rails is pretty amazing (shout to RubyToolbox ).

    I don’t see us ever having to move away from Rails really, but I could be wrong. Leanstack was built in Rails 3. For StackShare we decided to upgrade to Rails 4. Biggest issue with that has been caching. DHH decided to remove the standard page and action caching in favor of key-based caching (source)[http://edgeguides.rubyonrails.org/caching_with_rails.html#page-caching]. Probably a good thing from a framework-perspective. But pretty shitty to have to learn about that after testing out your new app and realizing nothing is cached anymore :( We’ll need to spend some more time implementing "Russian Doll Caching", but for now we’ve got a random mixture of fragment and action caching (usually one or the other) based on which pages are most popular.

    Avatar of Karma
    Karma uses RailsRails

    We use Rails for webpages and projects, not for backend services. Actually if you click through our website, you won't notice it but you're clicking though, I think, seven or eight different Rails projects. We tie those all together with a front-end library that we wrote, which basically makes sure that you have a consistent experience over all these different Rails apps.

    It's a gem, we call it Karmeleon. It's not a gem that we released. It's an internal gem. Basically what it does is it makes sure that we have a consistent layout across multiple Rails apps. Then we can share stuff like a menu bar or footer or that kind of stuff.

    So if we start a new front end project it's always a Rails application. We pull in the Karmeleon gem with all our styling stuff and then basically the application is almost ready to be deployed. That would be an empty page, but you would still have top bar, footer, you have some custom components that you can immediately use. So it kind of bootstraps our entire project to be a front end project.

    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 Instacart
    Instacart uses RailsRails

    Web has always been in Rails from the beginning, so we used Redis for caching our items, which we had, from the beginning. Rails is kind of what we were comfortable with, and we knew we wanted the front end to be really, really snappy, so we de-normalized all the item attributes into Redis, and that's how it got served out.

    Avatar of Tim Lucas
    Tim Lucas uses RailsRails

    Rails 5 (beta 3) provided a nice structure for rendering responses, linking to front-end assets (compiled previously via Webpack), handling sessions w/ tailor made login links via an email button/token, background jobs, and creating an admin behind basic auth to allow managing of users and purchases.

    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 Ngakkan Nyaagu
    Ngakkan Nyaagu uses RailsRails

    For this project rails was ideal due to new features introduced in Rails 5 that allowed us to build a lightweight "API only" project. Developer familiarity and the ability to rapidly iterate, as well as providing an accessible testing framework were additional factors.

    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 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 Twincore Systems
    Twincore Systems uses .NET.NET

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

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