我有兴趣为Windows桌面开发一个桌面应用程序,它必须在Windows商店中。
我认为有两条路径。使用.NET Core(UWP)进行开发,或使用.NET Framework进行开发。
目前我不关心非桌面设备。我只关心只有.NET Framework子集的痛苦,但我担心在不久的将来只会支持UWP。
我应该选择哪条路?为什么?
答案 0 :(得分:2)
开发UWP应用程序需要使用C#。
你的问题有点像说,"我想把东西放在互联网上。我应该使用网站还是HTML?"
此链接可能有所帮助:https://docs.microsoft.com/en-us/windows/uwp/get-started/whats-a-uwp
答案 1 :(得分:1)
首先,你要混合两种不同的东西。 C#是一种语言(如C,C ++,JavaScript等),而UWP是一个平台(如WinForms,WPF,简称控制台)。 UWP只能在W10设备上运行,可以用C#,HTML + JS,Visual C ++,Visual Basic编写......
正如您所说,UWP只能使用完整.NET Framework中可用的一部分API。那是因为它基于.NET Core。今年晚些时候,UWP应该获得对.NET Standard 2.0的支持,.NET Standard 2.0带来了许多以前在.NET Core和.NET Standard中不可用的API,但,这个升级将是仅适用于最低版本设置为W10 Fall Creators Update(即2017年9月或10月)的UWP应用程序,因此如果您想支持旧版本的W10,则无法在UWP中使用这些API。
如果您希望自己的应用转到Windows应用商店,最简单的方法就是构建UWP应用。您还可以使用Desktop Bridge打包经典(WPF,WinForms等)应用程序并将其上传到Windows应用商店。
您的选择应基于您的应用的要求。如果我不需要使用那里没有的API,我个人会使用UWP。
答案 2 :(得分:0)
在我看来,如果你不担心使用其他设备,那么我会选择标准的C#(仅仅是我的个人意见),但是如果你希望你的应用程序能够跨设备工作,我会选择UWP。例如,如果使用windows 10 for raspberry pi的版本然后去UWP,那么你可以简单地在PI和桌面应用程序之间集成,但对于桌面应用程序的条款,那么我会坚持使用C#并节省太多的需求额外的学习。此外,如果您打算将应用程序放在Windows商店中,那么UWP是必须的。