ASP.NET Core 8 Pros and 3 Cons
The article considers the pros and cons of ASP.NET Core based applications development from a business point of view. One more business article dedicated to this stack talks about .NET development outsourcing to Ukraine.
ASP.NET Core overview
ASP.NET Core provides an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions.
ASP.NET Core benefits
Unlike earlier days selecting Microsoft framework doesn’t assume the choice of Windows Server or Azure infrastructure. You have options to host it on Linux, AWS or Google Cloud.
Basically, ASP.NET Core is compatible with Windows, macOS and Linux. It also can be run on other OS (Operating Systems).
.NET Core is supported by Microsoft. The support of a reliable company guarantees that long term investments in .NET based applications are safe and reasonable.
Simple Application Maintenance
As C# is a strongly typed language, most of the defects could be caught on early stage with development tools. Visual Studio Intellisense helps to support the project code base. It simplifies new developers involvement and makes their start with a project quite smooth.
Web API support
It is fairly easy to create API to connect front-end and external systems and keep your API documentation updated.
Web API is a part of the framework and can be easily integrated with Swagger. While creating API applications it is a good idea to document them. It simplifies work with your product for other developers. Swagger can be easily integrated and documentation is auto-generated by the code.
New integrated Web Server Kestrel
The framework simplifies IT department routines. If your prefered web server is Nginx or Apache and you host it on Linux you shouldn't learn IIS web server and Windows Server anymore. Now IIS is not the only option but one of many and IT department can select preferred web servers like Ngnix, Apache or IIS.
Scaling and Dockerization
Scaling application on load is easy. The application can be run in Docker. It simplifies containerization, scaling, and creating infrastructure for microservice architecture.
The .NET Core platform is open sourced. Any developer can contribute to a framework that boosts framework development speed and improves general quality.
ASP.NET Core provides excellent support for utilizing asynchronous programming patterns. Async is now implemented in all common .NET classes and in most third-party libraries. All this enhance the framework performance.
It can serve 23 times more requests than the older (non-Сore) version of ASP.NET MVC.
And it is approximately 5 times faster than NodeJS.
ASP.NET Core Cons
In spite of Core 1.0 had been released on summer 2016 and Core 3.0 is planned to be released on the second half of 2019, many CMS and eCommerce solutions are still based on a non-Core version of .NET that makes .NET Core features and advantages usage impossible.
It will take a few years till existing products based on .NET Core will be fully updated.
Though there are a lot of .NET developers on the market, ASP.NET Core framework is a huge step forward comparing to ASP.NET Framework and there are many changes and new concepts. It requires time and extra efforts for developers to learn this new tool.
Indeed I should admit that a new version is very welcomed by developers and they are usually quite motivated to get a handle on it.
Windows-based Development Tools
Microsoft released Visual Studio for Mac. But there are many other development tools that work better with Windows and it takes some time till they also become cross-platform.
In spite of ASP.NET Core is a great framework, consider other .NET products, that might be used in your infrastructure, before making a final choice.