Get Advice Icon

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

.NET
.NET

4.1K
2.4K
+ 1
1.5K
Rails
Rails

9.4K
6K
+ 1
5.3K
Add tool

.NET vs Rails: What are the differences?

Developers describe .NET as "A free, cross-platform, open source developer platform for building many different types of applications". .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. On the other hand, Rails is detailed as "Web development that doesn't hurt". Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.

.NET and Rails belong to "Frameworks (Full Stack)" category of the tech stack.

"Tight integration with visual studio", "Stable code" and "Great community" are the key factors why developers consider .NET; whereas "Rapid development", "Great gems" and "Great community" are the primary reasons why Rails is favored.

.NET and Rails are both open source tools. Rails with 43.6K GitHub stars and 17.5K forks on GitHub appears to be more popular than .NET with 11.1K GitHub stars and 2.4K GitHub forks.

Airbnb, Twitter, and Instacart are some of the popular companies that use Rails, whereas .NET is used by Stack Exchange, Microsoft, and Starbucks. Rails has a broader approval, being mentioned in 2321 company stacks & 796 developers stacks; compared to .NET, which is listed in 1566 company stacks and 239 developer stacks.

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

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

Why do developers choose .NET?
Why do developers choose Rails?

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

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

What tools integrate with .NET?
What tools integrate with Rails?

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

What are some alternatives to .NET and Rails?
ASP.NET
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
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.
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.
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 and Rails
Spenser Coke
Spenser Coke
Product Engineer at Loanlink.de · | 9 upvotes · 224.9K 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
Yshay Yaacobi
Yshay Yaacobi
Software Engineer · | 29 upvotes · 626K views
atSolutoSoluto
Docker Swarm
Docker Swarm
.NET
.NET
F#
F#
C#
C#
JavaScript
JavaScript
TypeScript
TypeScript
Go
Go
Visual Studio Code
Visual Studio Code
Kubernetes
Kubernetes

Our first experience with .NET core was when we developed our OSS feature management platform - Tweek (https://github.com/soluto/tweek). We wanted to create a solution that is able to run anywhere (super important for OSS), has excellent performance characteristics and can fit in a multi-container architecture. We decided to implement our rule engine processor in F# , our main service was implemented in C# and other components were built using JavaScript / TypeScript and Go.

Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.

After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...

See more
.NET
.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 · | 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
.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.3K 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 · 16.5K 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.6K 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 and Rails
No reviews found
How developers use .NET 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 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 Rails cost?
Pricing unavailable
Pricing unavailable