Speculation on the future of .NET Framework

April 2014

Why would anybody produce any Speculation on the future of .NET Framework? Perhaps you have invested a lot of time and money in .NET? As such you are keenly interested in just where is .NET heading these days, mid-2014? Wherever it’s daddy is taking it one might say and proceed elsewhere. But, I have produced yet another set of speculations, if anybody is interested?

The case of WINRT API

Visual overview of the Common CLR Language Inf...
Visual overview of the Common CLR Language Infrastructure, and how the components relate to each other. Converted to SVG from PNG version, originally by Foofy from English Wikipedia. (Photo credit: Wikipedia)

There is one simple and single premise to all of my speculations. Best described as one question:

Why the WINRT (API) does exist ?

WINRT(API) is calmly kept as the foundation in each and every piece of news, on diagrams, on conferences, slides or whatever else, coming out of Redmond in 2013/2014. Now hold that thought for a while and let me introduce you to my little list of safe assumptions:

  1. CLR  (Common Language Run-time)  as we know it will be deprecated.
  2. The division on desktop and mobile will cease to exist.
  3. There is a huge amount of legacy .NET code in production.

These are the assumptions. Yes but. So safe they can hardly be called assumptions. And now, here are my speculations. Cover the eyes of the innocent, and read on!

Finally, the speculations

I think it is safe to assume all of the above is true. These (I bravely claim) are not assumptions at all. And, if that is true, then M$FT will have to reveal the following proverbial “Ace up its sleeve”  aka “List of measures”, to stabilize the situation. Therefore I do predict:

  • Single WIN core with single WINRT (as in API) on top of it
    • across all devices and form factors:
      • servers, smartphones, desktop work stations, tablets, internet-everywhere devices, Xbox, Embedded, etc.
  • .NET languages native compilers (no CLR needed) (gasp!)
    • Using WinRT abstractions and API direct, for much faster and efficient executable’s
      • Never as fast and efficient as C++ but that does not matter for business apps
    • C#, F# and VB native compilers … possibly others too
      • Speculation: How many years these “singularity’s” already exist inside M$FT  vaults?
  • Portable Class Libraries (PCL) in a central role
    • Not as “Happy Little Feature that Could” but as a central mechanism, SDK and API
    • Key for all future measures for running legacy .NET apps unchanged
    • most importantly:  necessary for cross-platform Apps!
    • covering the whole legacy  .NET set of libraries
    • WIN Runtime (RT) for new and legacy .NET Apps
    • The thin but essential decoupling from the low-level API’s of WINRT (as in API)
    • Also the key for making cross-platform development feasible, not just possible
      • Every platform (Android, iOS, etc.) will require a layer below this.

Ah yes, the very last semi-speculation in this post: it has to be said Xamarin is shaping up in an ever more interesting role.  Xamarin is less and less a speculation :) And more and more a Microsoft led “revelation”. I think MS Office for Android and iOS will be still speculation if it would not be for a Xamarin.