There are 2 huge architectural changes in ASP.NET 5. Firstly, it’s much leaner – e.g. no longer requires System.Web.dll. Secondly, it’s modular – almost all features are implemented as NuGet packages.
ASP.NET 5 includes MVC 6 framework. It combines features of MVC and Web API into a single web framework. The new version of ASP.NET is built on the .NET Core, but it can also be run on the full .NET Framework.
.NET Core – new cross-platform runtime with a smaller footprint. Advantages:
- Separation from the runtime version that is installed on the host operating system – application will be deployed with .NET Core runtime.
- Smaller and less depended on the framework – pick pieces of .NET Core that you really need.
- Be cross-platform – there will be versions of .NET Core for Windows, Linux and Mac OS X systems.
.NET Framework – .NET Core is more limited than full .NET Framework, so you may need to the full framework (4.5.2 and above).
The dynamic compilation can greatly improve developer experience. You don’t have to compile your application every time you introduce a change. Just edit the code, save it and refresh the browser. The change will automatically appear.
Simple dependency management
You manage dependencies by adding NuGet packages in ASP.NET 5. Then at any time you can upgrade a dependency to new version, test and release.
Web.config for configuration is not needed any more in ASP.NET 5. This way it’s much easier to deploy an app to the cloud.
Dependency injection was already supported in existing ASP.NET frameworks (MVC, Web API, SignalR) but not in a consistent way. ASP.NET 5 provides a built-in dependency injection abstraction that is available in a consistent way throughout the whole web stack.
ASP.NET 5 introduces new HTTP request pipeline that is modular so you can add only components that you need. It doesn’t dependent on System.Web. This way requests can be handled more robustly.
And finally, it’s open source. You can find ASP.NET 5 on GitHub.
Need more details?
Here is a source article for this post – Introducing ASP.NET 5.