ASP.NET hardly needs an introduction; and the last decade of web developers would vouch for this framework for having changed the way they approach website building and design. Web forms became a well-recognized block for developing a web application, and the ease of programming in well-known languages like C# and Visual Basic is an added advantage.
There may be some who feel that the redesign of this version compared to the previously popular one is too drastic; but it is important to note that the changes have all been driven by user requirements. ASP.NET 5 is an optimized framework that also supports apps that are deployed to the cloud. Due to its modular nature, it provides a lot of flexibility to developers as well.
Here’s a quick view of the features provided by ASP.NET 5 that should reinforce the reasons for this version:
Cross Platform functionality: The ASP.NET 5 is planned to be a cross-platform version, which means that Linux and Mac environments will now be supported. The Mono community that has been intensively working with cross-platform functionality is a big contributor to this version, and also provides the CLR that could be used by developers until the official cross-platform release is available.
Hosting with ease: With ASP.NET 5, hosting now becomes a seamless process due to the independence provided by the deployment packages that each contain all the required dependencies. You could host your app on IIS, or also self-host the same in your own process. You could also choose from a variety of devices and platforms to host the app, and this would also have no impact on which framework you might use for the development.
Versioning independence: Earlier versions of the .NET Framework came in one single block, where a single change could impact your entire installation. ASP.NET 5 now allows you to run different versions side-by-side, to make versioning a stress-free process. You could use one version for an older set of apps, and still use the latest version for new apps, with both versions running together with ease. This is also enabled by the deployment packages, within which you can define the version of .NET that should be used by specific apps.
Cloud readiness: If your project is created using ASP.NET 5, you can be assured that it is prepared for deployment to the cloud. Visual Studio 2015 is a big enabler in this process by providing the required environment for all the new values to be set. Once deployed, the app would just read the required values and exhibit their functionality as planned. An easy debugging mechanism is also a part of the environment.
Dependency management: It is an easy procedure to manage the dependency on various NuGet packages using the NuGet Package Manager or JSON file. Adding or deleting packages and keeping track of the dependencies is performed with the help of the IntelliSense package of Visual Studio 2015. This is an agile development environment to enable easy changes and compilations by developers. This means that code changes would be reflected in the web browser without recompiling the entire project every time.
Open Source and collaborative: The complete codebase for ASP.NET 5 is available for viewing through GitHub. Developers are invited to download and make any changes that they think would improve the functionality, much like any open source project. By viewing the complete sequence of changes, it would be easier to understand all the features and customize for your project when necessary. The community of developers along with all the forum discussions provides a great resource for amateurs as well.
Other features like a modular HTTP request pipeline and an integrated dependency injection are also differentiators in the ASP.NET 5 version. Some duplication in Web API, MVC and Web Pages is also eliminated with all these planned to merge into a single framework named MVC 6.
It is a misunderstanding that ASP.NET 5 will no longer support projects developed on the earlier ASP.NET version. All legacy codebases in earlier versions will be able to run with the new version as well, and it is only when you need to use features of ASP.NET 5 that you would need to consider porting your entire project to this version.
ASP.NET 5 has taken the needs of developers into account before coming up with the latest new version. The aim is to improve the ease of building web apps by providing a lean version of the .NET stack. Have you checked it out yet?