In a blog post today, Scott Guthrie has announced ASP.NET 5, the latest in a 15 year long string of ASP.NET versions that for the first time introduces a cross platform and open source version of the popular web development application framework. It’s available as a preview release as part of Visual Studio CTP 6, and offers a number of fairly significant changes, including the ability to run on Windows, Mac or Linux using the .NET Core, a rebuilt MVC (model view controller), dynamic development for seeing changes in your code without having to recompile, integration with popular open source web dev tools, dependency management using NuGet, new options for configuration management, dependency integration and faster HTTP performance, all in an open source package.
Perhaps the most significant of all the changes is the introduction of the .NET Core, a new, small footprint modular runtime that can run on Windows, Mac and Linux. Windows can still run on the full .NET framework, of course, but applications can be modified to run on the smaller, but less powerful .NET Core, and run equally as well on a Mac as on a PC. The modular structure of the .NET Core provides a number of advantages, as outlined by Guthrie in the blog post:
1) You can deploy the .NET Core runtime with your app which means your app will run with this deployed version of the runtime rather than the version of the runtime that is installed on the host operating system. Your version of the runtime runs side-by-side with versions for other apps. You can update that runtime, if needed, without affecting other apps, or you can continue running on the same version even though other apps on the system have been updated. This makes app deployment and framework updates much easier and less impactful to other apps running on a system.
2) Your app is only dependent on features it really needs. Therefore, you are never prompted to update/service the runtime for features that are not relevant to your app. You will spend less time testing and deploying updates that are perhaps unrelated to the functionality of your app.
3) Your app can now be run cross-platform. We will provide a cross-platform version of .NET Core for Windows, Linux and Mac OS X systems. Regardless of which operating system you use for development or which operating system you target for deployment, you will be able to use .NET. The cross-platform version of the runtime has not been released yet, but we are working on it on GitHub and plan to have an official preview of it out soon.
While some of the other changes might not grab the headlines like the move to cross-platform does, they’re still significant. The changes to MVC 6 bring together MVC, Web API, and Web Pages to consolidate and simplify model view coding, cloud-ready configuration means that ASP.NET developers can say goodbye to Web.Config and use JSON, XML, or Environment Variables instead, and using NuGet packages simplifies and streamlines dependency management.
You can try out ASP.NET 5 and the rest of the changes to Visual Studio 2015 CTP 6 by following the download link below.