ASP.NET Core can be defined as a new era in the history of ASP.NET and in the development industry as well. Honestly, did you ever imagine that Microsoft would provide an approach to develop, build and host ASP.NET applications on other platforms besides Windows? Nevertheless, Microsoft did it.
In this blog post, we will be talking about the new beginning of ASP.NET and why we must be a part of it.
What is .NET Core?
So what is ASP.NET Core? The easiest way to describe it is in the following terms;
- Cross Platform
- Open Source
- Robust
- Ease of access
Cross Platform: The biggest thing about ASP.NET Core is its compatibility with Windows, Linux and even Mac platforms. The structure of ASP.NET is fully re-architected in a way that you can develop your .NET applications on all platforms. The dependency of Windows libraries has been removed in such a way that you can still use it. Yes, ASP.NET Core framework can target both .NET Core and .NET Framework so it is easy to migrate your existing .NET applications to .NET Core. (ASP.NET Core apps targeting .NET Framework are not cross-platform though.)
Open Source: The code of ASP.NET Core is available at their GitHub site. Microsoft contributors and open source community members actively manage all the projects in there. It enables transparency between developers and core framework. So now, the development cycle is getting faster and better. You can contribute to it, modify it for your own use and embrace it in certain ways. You will get instant solutions to your problems because of its open source nature.
Robust: Using .NET Core, your solutions will become more robust in nature than classic .NET. ASP.NET Core framework is modular, fast, thin and extensible. It actually consists of a bunch of NuGet packages, which makes this framework faster, reliable and secure. This also transforms ASP.NET framework into a very light-weight framework, resulting in higher performance. It was already considered as one of the fastest web application frameworks available.
Source: TechEmpower
Elasticity: Before .NET Core, developers tended to use MVC for web and WEB API for service. .NET Core brings that together as one. This standardized approach simplifies development of web and serves both endpoints. You can manage your application to the degree at which the application will be able to adapt to workload changes by adding, and removing related containers (NuGet packages). It increases the scalability as well.
A much needed shift from .NET Framework to .NET Core
Why is this change essential to your classic ASP.NET application?
Believe it or not, it is obvious that ASP.NET Core is becoming the first choice for developers. More and more third party tools are on their way to support ASP.NET Core and if your application contains some libraries which are not compatible then there is always an alternative that you can exploit. ASP.NET Core is a combination of different containers, becoming highly scalable and more improved in performance than classic ASP.NET.
But what about stability? Right now, ASP.NET 4.6 is the latest stable version but .NET Core is the future here. Don’t you think that if you are building something new, you should be using a framework which will give you long-lasting support (and the benefits of open source)?
If you think at a business level, you can make your application economical in terms of hosting and developing. This is because ASP.NET Core hosting is compatible with Linux.
You do not have to use Microsoft paid resources to manage your application. You can develop using tools that are available on all platforms. This alone will save a lot of money when it comes to application development.
As you know, the only thing, which is persistent in universe, is CHANGE. And that change is happening here. Be a part of it. Accept it. It will surely benefit you in every possible way.
Chinmaya Upadhyay
Lead Analyst – Microsoft Technologies