ASP.NET Core 1.0. Part 1: Introduction, general description and the future of .NET Framework

The question is: “Microsoft ASP.NET vNext: evolution or revolution?“, the absolute answer is revolution. In this series of articles, I will try to describe in detail the latest technology for creating web applications, namely – ASP.NET vNext, which initially had the official name ASP.NET 5 and later was renamed to ASP.NET Core 1.0. There will be another series devoted to the development of a real application with examples describing the practical use of this technology.

I will start with describing the history of ASP.NET development. Back in 1996, Microsoft proposed a technology – Active Server Pages (ASP) for creating web applications. The basic idea of an ASP application was something like this: a web page on a server contained some VBScript or JScript server-side scripts, and when the page was requested the scripts were launched and executed, followed by the generation of HTML. It was a big step forward when compared to CGI. With the release of Microsoft .NET Framework, in 2002, a completely new platform for developing web applications, ASP.NET, had been delivered. In 2003, it was updated to version ASP.NET 1.1. That was the beginning of ASP.NET, back then, a completely new technology which had plenty of advantages over ASP. In fact, that was a full-fledged framework for web application development. Time passed by and ASP.NET had been developing along with .NET Framework – the major upgrade was released in 2005. The main new features were: themes, master pages, globalization, etc. The web developed rapidly, web pages became more interactive and rich, the AJAX technology appeared. In 2007, another major update, ASP.NET 3.5, was released. It was then that such powerful tools like ASP.NET AJAX, LINQ, Dynamic Data were supported. With the release of ASP.NET 3.5 SP1 in 2009, a new MVC-based approach for processing web pages requests appeared. Now, there are two: Web Forms and MVC.

The release history of ASP.NET

Simultaneously with the launch of .NET Framework 4, ASP.NET was updated to the fourth version. Another major platform update was released together with the release of ASP.NET 4.5. Such tools as Web API and SignalR appeared. With the release of Visual Studio 2013, a new concept appeared – “One ASP.NET”. All components of the platform were updated, and a new specification appeared – OWIN (Open Web Server Interface for .NET), which became the basis of ASP.NET vNext. Last year, Microsoft released a candidate version of the fundamentally redesigned technology for developing web applications, which received the official name – ASP.NET 5. Among other things, there is a large number of updated and new technologies and products from Microsoft, the final versions of which will be released this year. And now let’s list the facts as they actually happened. I’ll start with the biggest and most important event — the update and improvement of .NET Framework. But first, let’s recall the course of .NET Framework development:

The release history of .NET Framework

The .NET platform was introduced in 2002 and quickly gained popularity becoming one of the major modern software development tools. The main advantages of .NET platform over the predecessor (the COM technology) are flexibility and a simpler and more reliable programming model. The platform has been developed, new versions, libraries, and technologies have been released to satisfy all the new requirements of the fast-growing world of information technology. Well, of course, Microsoft does not sit around idly and continues to improve .NET platform in order to keep up with the times. The platform released last year had been recently updated to version .NET Framework 4.6.2. So, what is the future of .NET? And the future is really interesting and promising.

.NET Framework today

As can be seen from the above drawing, there are basically two versions of .NET Framework. The first one is a logical continuation of the current version .NET 4.5.2, which is officially named .NET 4.6 (the updated versions: .NET Framework 4.6.1 – 4.6.2). The second one is now referred to as .NET Core 1.0 (previously known as .NET Core 5) and is a simplified version of the standard .NET Framework. The first one is self-explanatory, while the second one raises a lot of questions. The most important one is why we need it? To meet the growing needs of today’s digital world that is developing rapidly. If you look at the .NET platform development scale provided above, we can see that the release cycle of the new versions covers a couple of years, or even more, which is a very long term at the current state of things. The situation needs to be changed for the better, the decision is .NET Core 1.0. The latter must satisfy the modern requirements for development, thereby new trends for promoting and developing the platform have been established: a rapid development cycle and community participation. An independent organization .NET Foundation was established for these purposes. The organization will be involved in the development of .NET ecosystem. This link provides a list of all the current projects that will be developed under the supervision of the organization. That is, .NET platform becomes open. Full modularity – that’s one of the main features that I like the most. This is especially useful for web applications, and later I will tell you why.

Modular .Net Core

The following drawing shows a general model of an application that will use the .NET Core platform. The modularity of .NET Core means that the framework will be delivered in parts through NuGet, making it possible to deliver the application together with the platform that will be isolated from the others. That is, there won’t be a common version of .NET for the entire computer.

.NET Core application model

More information about .NET 2015 and .NET Core is available on Channel 9. And what should we expect in the nearest future, what will happen to .NET tomorrow?

.NET Framework tomorrow

More information on the present and future of the platform is available in the dotnetConf 2016 reports. Now, let’s talk about ASP.NET Core. The image below demonstrates the general scheme of the platform.

ASP.NET Core 1.0 application model

As can be seen from the drawing, the key features of the new technology are that it is completely modular and cross-platform. That is, using the framework as a part of the deployment package, you will no longer encounter the problems with the configuration of hosting environment for an application. Each application will have its own independent version of the platform. Almost the entire platform is written from scratch using manageable code. All the source code of the latest version of the web-based platform is open and available on GiHub. The ASP.NET MVC and Web API technologies are combined into one, and Web Forms are no longer used in version ASP.NET Core. The new version of ASP.NET on Windows will run using one of the two versions of .NET Framework: .NET 4.6 and .NET Core 1.0, and only .NET Core will be used on Linux and Mac OS X. More information on ASP.NET Core is available on Channel 9 What’s New with ASP.NET 5″, the same course is available on Microsoft Virtual Academy website (ASP.NET 5 was renamed to ASP.NET Core 1.0). Also, I recommend you to review the course “ASP.NET Core 1.0 Fundamentals” from Pluralsight. As for myself, I learned a lot of interesting and useful things from the report “ASP.NET vNext: What it means to you and what it means to Microsoft“, which I reviewed several times. The next part is devoted to the features offered by the latest version of .NET Framework in terms of web development.

Karen Tazayan

Karen Tazayan

ASP.NET Developer at Altacode
Karen Tazayan has 7+ years of experience in software development, testing, troubleshooting and implementation. He has strong knowledge of technical specifications, workflow development, and QA. In-depth understanding of project management and application lifecycle management (ALM).

Since 2011, Karen has been an active member of MSDN community and participated in MSDN forums as a moderator and leads his own blog about .NET Framework, software development, debugging, and diagnostic tools. Karen is a Microsoft MVP since 2014.

Karen is an active speaker in the events which Microsoft organizes in Armenia and Georgia.
Karen Tazayan

Karen Tazayan

Karen Tazayan has 7+ years of experience in software development, testing, troubleshooting and implementation. He has strong knowledge of technical specifications, workflow development, and QA. In-depth understanding of project management and application lifecycle management (ALM). Since 2011, Karen has been an active member of MSDN community and participated in MSDN forums as a moderator and leads his own blog about .NET Framework, software development, debugging, and diagnostic tools. Karen is a Microsoft MVP since 2014. Karen is an active speaker in the events which Microsoft organizes in Armenia and Georgia.