【问题标题】:Desktop app for windows- .NET Core or .NET Framework适用于 Windows 的桌面应用程序 - .NET Core 或 .NET Framework
【发布时间】:2018-03-11 09:41:01
【问题描述】:

我有兴趣为 Windows 桌面开发一款桌面应用,它必须在 Windows 商店中。

在我看来,有两条路。使用 .NET Core (UWP) 进行开发,或使用 .NET Framework 进行开发。

目前我不关心非桌面设备。我确实关心只有 .NET Framework 的一个子集的痛苦,但我担心在不久的将来只会支持 UWP。

我应该选择什么路径,为什么?

【问题讨论】:

  • 仍然不太正确 :) 即使是 UWP 应用程序也可以在 .NET 上运行,但在 .NET Core 上运行。而且.NET 标准平台 术语也不完全正确。 .NET Framework 就是您所说的,而与 .NET Framework 相比,确实有一个新的 .NET Standard 平台,用于创建跨 .NET 库 - 可以从 .NET Framework、.NET Core 和其他人。

标签: c# windows uwp windows-store-apps


【解决方案1】:

开发 UWP 应用需要使用 C#。

您的问题有点像:“我想在互联网上发布一些内容。我应该使用网站还是 HTML?”

此链接可能会有所帮助:https://docs.microsoft.com/en-us/windows/uwp/get-started/whats-a-uwp

【讨论】:

  • 据我了解,使用 UWP 只是 C# 的一个子集。这不正确吗?
  • 这不正确。 UWP 应用甚至可以用 Visual Basic、HTML + JS 或 Visual C++ 编写。
  • 我已经编辑了我的问题,使其在语义上更正确。是的,两者都是 C#,但不是相同的框架。
【解决方案2】:

首先,您将两种不同的东西混合在一起。 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 Core 和 .NET Standard 中不可用的 API,但是,这次升级将是仅适用于最低版本设置为 W10 Fall Creators Update(即将于 2017 年 9 月或 10 月推出)的 UWP 应用,因此如果您想支持旧版本的 W10,则无法在 UWP 中使用这些 API。

如果您希望您的应用进入 Windows 应用商店,最简单的方法是构建 UWP 应用。您还可以使用 Desktop Bridge 打包您的经典(WPF、WinForms 等)应用并将其上传到 Windows 应用商店。

您的选择应基于您应用的要求。如果我不需要使用那里不可用的 API,我会亲自使用 UWP。

【讨论】:

    【解决方案3】:

    在我看来,如果您不担心使用其他设备,那么我会选择标准 C#(只是我个人的看法),但如果您希望您的应用程序只能跨设备工作,我会选择 UWP。例如,如果为树莓派使用 Windows 10 版本,然后选择 UWP,这样您就可以简单地在 PI 和桌面应用程序之间进行集成,但对于桌面应用程序而言,我会坚持使用 C# 并节省太多的需求额外的学习。另外,如果您打算将应用程序放在 Windows 商店中,那么 UWP 是必须的。

    【讨论】:

      猜你喜欢
      • 2018-12-15
      • 1970-01-01
      • 2017-07-31
      • 1970-01-01
      • 2020-07-08
      • 1970-01-01
      • 1970-01-01
      • 2016-12-10
      • 1970-01-01
      相关资源
      最近更新 更多