What are incentives (if any) to use WinRT instead of .Net?
- by Ark-kun
Let's compare WinRT with .Net
.Net
.Net is the 13+ years evolution of COM.
Three main parts of .Net are execution environment, standard libraries and supported languages.
CLR is the native-code execution environment based on COM
.Net Framework has a big set of standard libraries (implemented using managed and native code) that can be used from all .Net languages.
There are .Net classes that allow using OS APIs.
WPF or Silverlight provide a XAML-based UI framework
.Net can be used with C++, C#, Javascript, Python, Ruby, VB, LISP, Scheme and many other languages.
C++/.Net is a variation of the C++ language that allows interaction with .Net objects.
.Net supports inheritance, generics, operator and method overloading and many other features.
.Net allows creating apps that run on Windows (XP, 7, 8 Pro (Desktop and Metro), RT, CE, etc), Mac OS, Linux (+ other *nix); iOS, Android, Windows Phone (7, 8); Internet Explorer, Chrome, Firefox; XBox 360, Playstation Suite; raw microprocessors.
There is support for creating games (2D/3D) using any managed language or C++.
Created by Developer Division
WinRT
WinRT is based on COM.
Three main parts of WinRT are execution environment, standard libraries and supported languages.
WinRT has a native-code execution environment based on COM
WinRT has a set of standard libraries that more or less can be used from WinRT languages.
There are WinRT classes that allow using OS APIs.
Unnamed Silverlight clone provides a XAML-based UI framework
WinRT can be used with C++, C#, Javascript, VB.
C++/CX is a variation of the C++ language that allows interaction with WinRT objects.
Custom WinRT components don't support inheritance (classes must be sealed), generics, operator overloading and many other features.
WinRT allows creating apps that run on Windows 8 Pro and RT (Metro only); Windows Phone 8 (limited).
There is support for creating games (2D/3D) using C++ only.
Ordered by Windows Team
I think that all the aspects except the last ones are very important for developers. On the other hand it seems that the most important aspect for Microsoft is the last one.
So, given the above comparison of conceptually identical technologies, what are incentives (if any) to use WinRT instead of .Net?