Microsoft ASP.Net has been around for over 20 years and has changed and grown considerably since its initial release. There are many legacy opinions and misunderstandings that are brought up when discussing ASP.Net, which are no longer valid, and a few are discussed below.
ASP.Net only runs on Windows.
When ASP.Net was first released in 2000, this was true. With the release of Mono in 2004, a free and open-source .NET Framework-compatible software framework, ASP.Net could now run on Linux.
ASP.Net Core, released in 2016 by Microsoft, is a fully cross-platform ASP.Net framework. ASP.Net 6 runs on runs on Windows, Linux, and macOS with support for x86, x64, Arm32, and Arm64.
This means ASP.Net can run on AWS EC2 instances, and Microsoft has official docker images for all major Linux platforms.
ASP.Net is expensive.
As before, with the initial releases of ASP.Net, the “only” IDE available was Visual Studio, which was quite expensive, but for almost a decade, Microsoft has also released the “community edition”, a free fully-feature IDE.
In 2015, Microsoft released Visual Studio Code, a free source code editor that runs on Windows, Linux, and MacOS. Visual Studio Code supports a variety of languages, not just those developed by Microsoft, and since 2018, has been ranked the most used IDE by developers on Stack Overflow.
There are also IDE’s released by other companies, which include paid and free versions, like JetBrains Rider.
ASP.Net is not open source.
In 2014, with Satya Nadella succeeding Steve Ballmer, Microsoft’s view on open source has changed dramatically. All aspects of .NET are now open source including class libraries, runtime, compilers, languages, ASP.NET Core web framework, Windows desktop frameworks, and Entity Framework Core data access library. ASP.NET itself is governed by the .NET Foundation; an independent, non-profit organization established to support an innovative, commercially friendly, open-source ecosystem around the .NET platform.
While Microsoft does and has accepted contributions from the global community, having the core libraries written and maintained by paid professionals, results in stable and consistent development teams, and therefore a stable well documented code base.
ASP.Net is for Enterprise Development.
While ASP.Net is often used as the first-choice development framework for many enterprise institutes, such as finance, insurance, banks, etc. it does not mean it is exclusive to large-scale development, infrastructure, and deployment. It does mean that ASP.Net has been tested and reliably used for large-scale mission-critical workloads, and can scale to that level when required.
ASP.Net can be used to develop websites, REST APIs on web servers, applications on desktops, apps on mobile devices, and 3D Games. For instance, the Unity game engine natively supports C#.
With .Net minimal Web API, writing REST APIs is as simple and comparable to other languages such as Python, Go, and Node.js.
.Net 8 Blazor provides full-stack web development, with a client-side UI using static server rendering, SignalR communication, and/or WebAssembly with ASP.Net Core Web APIs and Entity Framework back-end.
ASP.Net is slow.
Through the iterations of ASP.Net from inception, speed was initially an issue, but with the introduction and easier implementation of asynchronous programming, ASP.net has become increasingly faster. With the release of ASP.Net and the move to open source, a lot of the core code has been rewritten, with a heavy focus on performance.
TechEmpower’s open source benchmarks show ASP.Net Core as one of the top performers with only RUST-based frameworks higher, and easily outperforming frameworks such as Node.Js, Django, and Go.