Je vois la différence comme un choix de conception, qu'une préférence personnelle de la langue. La préférence serait plus liée à VB vs C#. Et généralement, c'est les mêmes différences que vous pouvez obtenir dans n'importe quelle application où vous pouvez choisir C++ ou .NET.
C++ vous donnera plus rapide temps de démarrage. IIRC, .NET 4.5 a l'auto NGENing capacités (pas sûr de la façon dont elle est liée aux applications metro), ce qui peut aider à atténuer typique de démarrage lent de temps de .NET applications.
C++ vous donnera à réduire l'utilisation de la mémoire car il n'utilise pas de garbage collector. Cela devient de plus en plus importante sur les ressources limitées des appareils tels que les tablettes. IIRC, .NET 4.5 a plus de mesures d'atténuation en GC des pauses (qui peut causer de l'INTERFACE utilisateur studder), ils sont encore une réalité avec le code managé.
Depuis .NET et C++ utilise le même WinRT cadre, il ne sera probablement pas trop de différence dans l'interaction avec le XAML/WinRT plate-forme (techniquement plus rapide de l'interaction avec les objets WinRT via C++, mais le coup est vraiment petit), mais bien sûr, votre code d'utilisateur sera généralement plus rapide avec le C++ que .NET.
C++ est généralement plus difficile à déjouer, même en comparaison avec d'obfuscation .NET code. Si sly voleurs peuvent voler votre IP, peu importe.
Depuis .NET a été créée d'abord pour la commodité du développeur et la productivité des développeurs, vous aurez plus de commodité options dans l'architecture de vos applications (par exemple, la réflexion basée sur des outils tels que le DI/Cio).
L'itération du code de l'application peut être plus facile par l'intermédiaire .NET comme .NET compile plus rapide que le C++, mais correctement créé les projets C++ cet effet peut être atténué sensiblement.
Pure .NET les projets peuvent soutenir "any CPU", ce qui signifie que votre application peut s'exécuter sur toutes les éditions WinRT plates-formes. Les projets C++, vous aurez simplement à recompiler à l'appui de BRAS, x86/64. Si vous .NET application dépend d'un personnalisé composant C++, vous devrez le compiler pour chaque architecture.
Parce que WinRT a été créé à partir du sol en place pour prendre en charge plusieurs langues, ma suggestion pour les devs qui ne coûtent pas à l'aise avec le C++ est de coller avec .NET, mais d'explorer des domaines qui bénéficient de C++. Microsoft a fait un bon travail avec l' /CX projections et de plus C# devs devraient être en mesure de trouver leur chemin. Ma suggestion pour C++ devs est de coller avec C++ et obtenir tous les avantages du C++.