NO, Microsoft hasn't given up on .Net, and YES it's all about cloud
.Net vNext, ASP.Net vNext want to be cloud's 'first framework'
TechEd 2014 Developers who were worried that Microsoft was retreating from .Net can breathe easier, as the software giant had a host of .Net-related announcements to make at its annual TechEd North America conference this week.
But Monday's TechEd announcements saw Redmond sprucing up .Net for a different role than either of those technologies – one aimed squarely at server-side applications and the cloud.
"On the cloud and on servers, the future of .Net is about the modern web," Microsoft developer VP "Soma" Somasegar wrote in a blog post. "Our goal is for the next version of .Net to be the first and only framework designed for the cloud, helping you to create on-premises applications and move them to the cloud with no changes and at the same time leveraging all the power of the cloud."
Collectively, these efforts are being lumped under the name ".Net vNext", a multi-pronged initiative that will take the platform in several new directions at once.
Slimming down for the cloud
One of the more significant announcements on Monday was that .Net vNext will include a "cloud optimized mode," which will be a lightweight version that eliminates libraries that aren't needed for server-side deployments, such as Windows Forms and Windows Presentation Foundation.
The cloud mode will also allow developers to bundle the .Net Framework libraries they need with their apps on an app-by-app basis. Different apps running on the same server will be able to run different versions of the same libraries without conflicts. The libraries themselves will also be streamlined to reduce their footprints.
Building on top of this more agile version of .Net will be ASP.Net vNext, the next version of Microsoft's server-side web technology and what the .Net team described as "our big announcement at TechEd."
From what we know so far, ASP.Net vNext was clearly designed with the cloud in mind. According to Redmond's developers, applications built on it will automatically adjust the behavior of such services as caching and session state depending on whether they are running in a traditional hosting environment or in a cloud.
"We use dependency injection behind the scenes to provide your app with the correct implementation for these services," the .Net team explained. "Using this approach, it is really easy to move your app from on-premises to the cloud, since our code changes, not yours."
API.Net vNext will also include updated versions of a number of APIs, where MVC, Web API, and Web Pages have all been merged into a unified programming model. A single controller can return MVC views and Web API responses, for example.
The revamped platform will also be integrated with Microsoft's new .Net Compiler Platform, aka "Roslyn," allowing near-real-time recompilation of ASP code. Code changes made in Visual Studio will be reflected immediately in the browser after a refresh, without a separate build cycle.
At last: truly cross-platform .Net?
In a surprising but welcome move, Redmond says it is taking steps to make sure all of this works on more platforms than just Windows. Although .Net is a managed-code platform, much like Java, in the past Microsoft has never gone in for Java's "write once, run anywhere" ethos. For .Net vNext, however, it has been working with Xamarin to make sure its .Net packages run on OS X and Linux, via the open source Mono project.
The software giant has even gone as far as to develop a tool called ApiPort that can analyze .Net code for its portability. The tool not only alerts developers to any potential problem areas, but it also uploads its analysis to Redmond so that Microsoft can prioritize the "most requested" API/platform combinations.
Finally, Microsoft says it has committed to releasing all of the .Net vNext technologies as open source software via its newly inaugurated .Net Foundation – which it says shouldn't come as a surprise, since all of the ASP.Net Web stack is already open source.
In all, it's clear that Microsoft has ambitious plans for .Net, and by targeting cloud deployments it's addressing a healthy, growing market. Whether it can win over enough converts to grow .Net's share of that market remains to be seen.
"We'll share much more in the months to come before we release the final versions," the .Net team said in a lengthy blog post explaining the new direction. "We're looking forward to shipping pre-release versions in order to get your feedback." ®