Also known as, ASP.NET 5, this introduction will cover some basic topics on the new framework. Microsoft hosted a free all-day training session this week at the MTC and I was able to attend. It was my first in-depth look at all the new features and I was quite surprised by some.
The last version of the ASP.NET 4 framework is 4.6. The new ASP.NET Core framework will be backwards compatible and will run on ASP.NET 4.6 libraries. Moving forward, Microsoft will use the “Core” terminology and will discontinue the old numbering system. So there will never be an ASP.NET 5. Don’t worry, I’m confused too, smh.
The below diagram illustrates the architecture
According to Microsoft, the new version represents a significant redesign –
ASP.NET 5 is a new open-source and cross-platform framework for building modern cloud-based Web applications using .NET. We built it from the ground up to provide an optimized development framework for apps that are either deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET 5 applications cross-platform on Windows, Mac and Linux. ASP.NET 5 is fully open source on GitHub.
Note the language as ASP.NET 5 is the same as ASP.NET Core 1.0. Microsoft is in the process of updating all documentation, but the framework is still in RC 1 so it’s a lower priority vs finishing the development.
The biggest, and most surprising, change for me was the reduced role of NuGet. If you’re not familiar, NuGet is a package management system for code dependencies on the Microsoft development platform. I was unaware there are competitors in that market who provide a better service.
Moving forward VS 2015 will use NPM, Bower, Grunt, and Gulp to import dependency packages. The downside with NuGet is that you have to manage an actual package. When the underlying package contents need to be updated, you have to re-package. Using the other new services, they simply create a pointer to the most recent version. So when the underlying framework is updated, the service will automatically grab the new one without re-packaging.
There are lots of other new features and changes. Notably the framework is no longer built on System.Web.dll, bowing to a more granular set of set of optimized packages. Also, WebUI is being fully integrated into the new platform. This means you do not need a separate WebUI project to create your RESTful services; you will be able to create them in any Web Application project. Finally, dependency injection support is being added natively. This is a welcome change for everyone who uses Ninjet, Spring, or Unity.
There’s lots more to talk about with the new framework and MVC6. Stay tuned to my blog for more updates!
You can find more details from Microsoft here: https://docs.asp.net/en/latest/conceptual-overview/aspnet.html
- New light-weight and modular HTTP request pipeline
- Ability to host on IIS or self-host in your own process
- Built on .NET Core, which supports true side-by-side app versioning
- Ships entirely as NuGet packages
- Integrated support for creating and using NuGet packages
- Single aligned web stack for Web UI and Web APIs
- Cloud-ready environment-based configuration
- Built-in support for dependency injection
- New tooling that simplifies modern web development
- Build and run cross-platform ASP.NET apps on Windows, Mac and Linux
- Open source and community focused