Why is ASP.NET Core good for Enterprise applications
ASP.NET Core is by far the fastest full-stack major web framework out there. Full-stack, meaning a framework that provides wide feature coverage, including server-side templates, database connectivity, form processing, and so on. Major means it’s widely adopted, used by the community, and supported by a big company and/or community.
According to TechEmpower and their Web Framework Benchmarks, ASP.NET Core can handle over 7 million requests per second. 7 000 000 requests per second! ASP.NET Core MVC can handle over 1.7 million requests per second! This is crazy fast! In comparison, Node.js can handle around 665 000 requests per second, and Spring (Java) can handle around 183 000 requests per second, Django (Python) can handle around 80 000 requests per second. Old ASP.NET was able to handle no more than 80 000 requests per second.
The benchmarks are run on the same hardware with every framework configured according to the best practices for production deployments gleaned from documentation and popular community opinion. This is all open source and on GitHub so everyone can participate. Read more about TechEmpower and their benchmarks over here – Introduction – TechEmpower Framework Benchmarks
For more info on the latest tests, check this page – https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=plaintext&c=a
ASP.NET Core is supported and backed by Microsoft as their main web framework. And this is HUGE. This means Microsoft will keep pushing it, keep developing it, and keep investing resources and money.
The same thing goes for .NET Core, which is now known as .NET 5, and the “old” .NET Framework is not actively developed anymore. Microsoft also has excellent guidelines on how to contribute to the GitHub repositories.
Integration with Azure, GitHub, Docker, etc., makes it even more supported and improved.
In 2018, there were over 16 000 community contributions to the .NET ecosystem from over 3000 companies outside Microsoft. Most of the overall contributions to ASP.NET Core git repositories come from outside of Microsoft.
Tooling is another area where .NET has always been doing almost better than anyone else. However, with arrival of .NET Core, ASP.NET Core, new Visual Studio, .NET CLI, new experience in working with NuGet packages, things have became even more amazing.
If you think about tools in the .NET ecosystem first thing that comes to mind: Visual Studio! Visual Studio 2019 is the best IDE in the world. The only thing that can come close, and that’s probably on the same level, is IntelliJ for Java. Everything else is definitely not even close to the power and versatility of Visual Studio. As a freelancer or part of smaller projects, you can use the Visual Studio Community edition for free, even for commercial projects.
The first version of Visual Studio came out in march of 1997, that’s 24 years ago!
Visual Studio 2019 is much faster and slimmer than ever. When you install Visual Studio, you can choose which workloads and components you want to install. No more waiting 30 mins or 1 hour on VS to install. On a faster machine, you can install the full web workload in 5-10 mins. This is a drastic change in comparison to older versions of Visual Studio.
No more waiting 30 mins or 1 hour on VS to install. On a faster machine you can install the full web workload in 5-10 mins. This is a drastic change in comparison to older versions of Visual Studio.
Editors and IDEs
If you want to work on ASP.NET Core, you have a variety of choices:
- Visual Studio
- Visual Studio + ReSharper or other extensions
- JetBrains Rider
- VS Code
- MonoDevelop etc
If you ever worked with the ASP.NET stack long enough, you had to run into various NuGet issues. You either had some weird conflicts, assembly issues, dependency issues, and it was terribly slow, etc.
With ASP.NET Core, and the new changes to NuGet itself, and changes how .NET Core and .NET Core projects work with NuGet, the improvements and changes are massive! I worked on mini-projects, on smaller projects, on regular size projects, and worked on enterprise projects. I never had any major issues with NuGet and dealing with NuGet packages on my projects.
If you want to build more client-side-focused applications, you don’t even need to use modern SPA frameworks (React, Angular, Vue). Instead, you can use Blazor – a fully-fledged SPA framework that is part of ASP.NET Core. If you use the Blazor Server, you get all the advantages and goodies of ASP.NET Core for free, built-in. Some of those are authentication, middleware, DI, configuration, logging, etc.
Both ASP.NET Core and .NET Core are fully cross-platform, and they can run on Linux (Ubuntu, Debian, Alpine, Fedora CentOS, Linux Mint, openSUSE, Red Hat Enterprise, SUSE) , Windows and MacOS.
You can run ASP.NET Core in Docker containers and integrate it with any major database provider.
Base Class Library
I will be free and say it out loud: .NET 5 is the best framework out there. No other framework has that big BCL (base class library) to get you almost everything you need to build enterprise applications. You don’t need to install and download packages all the time, like it’s the case with some other framework. BCL has thousands of classes and helpers. The library provides classes and types that help perform day-to-day operations, e.g., dealing with string and primitive types, database connection, IO operations, etc.
After 4 releases of ASP.NET Core (1, 2 3, 5), we have a really mature framework, running on .NET 5, a stable, mature (over 20 years), modern, and faster than ever framework.
Community interest is growing all the time, and support, contributions, commits, PRs, and all the love and help from the community are massive.
With maturity, extensive BCL, speed, tooling, cross-platform, Entity Framework, built-in logging system, configuration system, DI system, Microsoft backing and supporting the framework, community contributing more than ever, you can’t go wrong with ASP.NET Core.