As is known to all who are used to develop on the .NET platform, Microsoft has been working continuously in the evolution of Visual Studio and in particular the ASP.NET technology. Focusing on points such as productivity, interoperability and support to a variety of environments (desktop, web, mobile devices and cloud), several launches were announced from this year:
- ASP.NET vNext: new version of ASP.NET technology assessment released in May. It has optimizations designed to ensure maximum efficiency both in conventional scenarios (such as IIS servers on Windows machines) or in cloud computing environments (as in the case of hosted solutions from Windows Azure);
- Visual Studio "14": new version of Microsoft development IDE, with the first release (CTP 1) has been made available in early July. The name "14" is a temporary identification; a new release called "CTP 3" was recently released (August);
- Visual Studio 2013 Update 3: another release available at the beginning of August. This is the latest update to the current version of Visual Studio.
The ASP.NET vNext can be considered, from the architectural point of view, a remodeled version of the ASP.NET platform. With strong emphasis on building applications related to cloud computing environments, the new release of Microsoft technology for Web development brings not only new, but also sought to fill gaps identified by professionals with long experience in .NET solutions.
This section aims to discuss the main features of ASP.NET vNext, with such details are described in the following paragraphs.
One of the first aspects to be highlighted was the definition of a unified programming model for building Web sites and services. Mechanisms such as ASP.NET MVC, ASP.NET Web Forms and Web API were placed side by side, with this technology pools being called "MVC 6".
It should also be emphasized that this new programming model for Web (MVC 6) no longer depends on resources declared in the System.Web namespace. The removal of such a heavy namespace was seen by many developers as a breakthrough. Because of the many dependencies within the namespace System.Web, heavy objects as HttpContext consumed significant portions of memory to each HTTP request addressed to an application (for simpler than the latter were).
Unlike what happened to the .NET Framework 4.5.1, the build process of a project will not generate binary files (Figure 1). When performing this task, only syntax errors or warnings will be appointed. The compilation itself happens on demand, a fact that allows modifications to the code of a project without the need to completely rebuild it. This characteristic is made possible by the new build platform adopted by Microsoft (Roslyn project).
Figure 1. Debug folder content in an vNext ASP.NET project
Libraries manipulated as .dll files in ASP.NET projects vNext were replaced by packages of NuGet utility (files with the extension .nupkg). This strong emphasis on the use of packages even allows to include an entire .NET Framework version on the set of files generated for the deployment of a solution: in practice, this allows the developer to opt for a conventional version of the .NET Framework to the process to deploy or even the packages that are part of the Mono project. In Figure 2 we can see packets generated to deploy an ASP.NET vNext project.
Figure 2. Example of generated files to deploy an ASP.NET project vNext
Solutions built with ASP.NET vNext may also be implemented by making use of a lighter framework, designed specifically for cloud computing environments: it is the "Cloud Optimized Framework". It is necessary to say that this mechanism gives up of some .NET Framework features in order to enable this strategy with greater performance when running an application.
Although the Mono project is an independent initiative, Microsoft is committed to ensure the compatibility of ASP.NET vNext with this environment. In addition, it is planned to support the implementation of ASP.NET vNext in environments such as Mac and Linux.
Finally, it is worth noting also the fact that ASP.NET vNext was made available as an open-source project. Maintained by .NET Foundation, the trend is that technical community participation increases with the passage of time with respect to decisions involving the direction of this technology.
Visual Studio "14"
Soon after the release of ASP.NET vNext, another major novelty focused on the .NET world would be announced in early June: it is the Visual Studio "14" CTP.
Freely available for testing, this new Microsoft development IDE release brings as highlights:
- Changes in the application build process. Compilers for C# and VB.NET code were restructured, based on the project known as .NET Compiler Platform (or simply "Roslyn"). Designed in 2011, the project Roslyn is a Microsoft open-source initiative that offers a complete set of tools aimed at compiling and code analysis for solutions created in C# or VB.NET. One of the direct benefits of adopting this mechanism was precisely the possibility of modifying the code from a class written in C# or VB from Visual Studio without this implying the obligation to start implementing the debugging again (something previously commented this post and contributing, no doubt, to a more productive development);
- The possibility of development based on the new features of ASP.NET vNext (there are even templates for creating projects on this platform, as shown in Figure 3);
- Improvements in support for C++ language.
A third version of Visual Studio "14" (CTP 3) was announced on 08.18.2014 and is now available for download from one of the addresses listed in the Links section.
Figure 3. vNext "14" ASP.NET Templates
- Although expected future coexistence with other versions of the .NET Framework and Visual Studio on the same computer, Microsoft itself recommends that Visual Studio "14" to be installed in a separate environment (such as a virtual machine, for example). In practical terms, this involves the installation of this IDE in one place (computer or virtual machine) that do not rely on any previous versions of .NET or Visual Studio platform.
- The possibility of modifying an application without recompiling the same, there are in Visual Studio "14" some restrictions with regard to this type of behavior. The use of this practice currently works only for applications that run from the option "Start Without Debugging" in the Visual Studio Debug menu.
Visual Studio 2013 Update 3
As for the Visual Studio 2013 can be mentioned as release highlights called "Update 3":
- Improvements in code editing in JSON and CSS formats;
- The possibility of ASP.NET development projects using the Active Directory feature in Windows Azure as the authentication mechanism;
- Console applications can be published on websites of the Azure platform in the form of WebJobs (continuously running services or not, with a scheduled execution in an environment with Windows Azure);
- Support for the latest versions of frameworks for Web development in .NET (ASP.NET MVC 5.2, ASP.NET Web API 2.2, ASP.NET Web Pages 3.2, ASP.NET 2.1 Identity) and Entity Framework (6.1.1) .
A complete list of all the resources embedded in the Visual Studio Update 3 can be found in the Links section, which is located at the end of this article.
We try to describe in this article some of the new developments that have gained prominence in recent times within the .NET platform. There is still no date set for the release of vNext ASP.NET and Visual Studio "14" as the official versions. However, such products are available for evaluation, an initiative which aims to contribute to the largest possible number of developers to become familiar with the new developments that are coming.
On the other hand, Visual Studio 2013 continues to evolve, with a new release that brought improvements to resources already in use by many professionals.
I hope that the content addressed here will be useful to you. Until the next opportunity!
Announcing new Web Features in Visual Studio 2013 Update 3 RTM:
.NET Compiler Platform ("Roslyn"):
The Next Generation of .NET – ASP.NET vNext:
Visual Studio "14" CTPs: