The NET Perspective: Then and Now
With the introduction of WinRT and the dimming of Silverlight, some NET developers are concerned that the platform's popularity, and therefore support, at Microsoft may be on the decline. The platform's flagship language is C#, but C# creator Anders Hejlsberg's latest publicly released project is TypeScript. This turn of events brought a large audience to the presentation "The Evolution of .NET" by Brandon Bray to see what was in store for .NET.
Bray is the Group Program Manager of .NET and began his talk with an overview of the history of the platform: starting with its initial announcement at the 2000 Professional Developers Conference, and concluding with where it is today: marking the year of its 10 year annniversary as the .NET Framework 1.0 shipped in February 2002.
There are three enduring themes of the platform that Bray identified:
- Broadening support for platforms and industry trends
- Time to solution getting better
- Performance improvements: by improving the runtime and libraries
As Bray worked through NET's history, he did observe that Silverlight has "done a lot of great things for .NET" and said that the lessons learned from Silverlight have been applied to Windows Phone and Windows 8.
Since .NET Framework 4.5 was released 3 months ago, it has recorded over 4 million downloads demonstrating its continued popularity. At this point in time, Bray observed that users want the following main features:
- Business compatible applications: Reflecting the consumerization of IT, the ability to bring your own device (phone/tablet/laptop) to work and in use it the corporate world is a growing trend.
- Fast & Fluid experience: This is not just a requirement that applies to the user interface's performance, it also includes the necessity that users can easily figure out how to use their apps without requiring outside help.
- Modern connected apps: Getting data to and from their device to the web/cloud, desktop, etc.
From a developer's perspective, Bray says that they want they ability to target multiple platforms: Windows Phone, web & cloud, and Windows 8. The needs of users and developers define what the .NET Framework is trying to serve.
So what are some of these available improvements? Bray highlighted .NET 4.5's background garbage collection, multi-core JIT (just-in-time) compiler, and a reduced on-disk footprint. The adoption of this new background garbage collector by the Bing team saw them drop from an average 8% pause under the old GC to a 2% average pause with the new. Multi-core JIT is automatically used by ASP.NET, and developers can add it to their application by examining the ProfileOptimization class.
Developers seeing difficulties with DLL Hell as a result of thier upgrade to .NET 4.5 are encouraged by Bray to contact Microsoft as they are aware that there are problems and are actively working to resolve these issues.
.NET on Windows Phone 8: The Advantages of Compile in the Cloud
Moving to Windows Phone 8, Bray noted the following improvements that have been made:
- CoreCLR is now the foundation for NET on WP8
- Key NET4.5 capabilities are now on WP8
- Compile in the Cloud means your apps will launch faster
Using compile in the cloud the average phone app can expect to see a 2x gain in performance on WP8 launch hardware. Previously assemblies were deployed in a situation that in effect treated the phone as a compiler-- which isn't optimal for either performance or battery life. But with compile in the cloud, MDIL (machine dependent instruction language) is used to outsource the compilation. The MDIL compiler produces MDIL assembly which is then deployed to the phone.
Bray was reserved when discussing the platform's future, as he clearly did not want to make any public announcements of new features. However he did reiterate that Microsoft cares about .NET and noted that it is an integral part of all MS platforms that are shipped. Bray went on record that “We (Microsoft) want .NET to be successful.”
Looking ahead, Bray observed that assumptions change and as a result so should the .NET platform. The new areas for future focus:
- Improving the device experience (Windows Phone, tablets, etc)
- First class cloud experience
- Heterogeneous development
- Targeting multiple platforms at once
Again, while no specifics were announced, some interesting clues were left. As it was claimed lessons were learned from Silverlight, so it seems that Microsoft's Singularity project has also found its way into different projects. Looking at MDIL for WP8, Channel 9 user “Felix9” noted in August 2012 that MDIL had previously appeared with Singularity's Bartok compiler.