Windows Phone 8.1 和 Windows Phone Silverlight 8.1 之间的区别

Difference between Windows Phone 8.1 and Windows Phone Silverlight 8.1

我正在阅读 Windows Phone 8.1 开发版,因为我已经在使用 Windows Phone 8 并且我打算开始使用新的 OS 版本.

然后我下载了 Visual Studio for Windows with update 4,打开我的一个项目(目标为 WP8)并点击 "upgrade to 8.1"。

我看到我的方案把名字改成了"Windows Phone SilverLight 8.1"。

然后我尝试创建一个针对 Windows Phone 8.1 的新项目,我在 Visual C# 树下看到了以下选项(如图所示):

由于我的目标是为 phone 设备开发 Windows Phone 8.1,我选择了 "Windows Phone Apps"。但我看到这个项目与另一个项目(我从 WP8 升级的那个)有点不同。它出现在解决方案上 "Windows Phone 8.1" 而不是 "Windows Phone SilverLight 8.1"。而且代码也大不相同

所以,我对此进行了研究,以了解 "Windows Phone SilverLight 8.1" 和 "Windows Phone 8.1" 之间的区别,阅读了一些这样的帖子:

但是我找不到任何让我理解的内容。

在某些时候,我发现一个答案说 "Windows Phone 8.1" 是通用应用程序...但我不同意,如果我想创建一个通用应用程序,我会选择 "Universal App" "Windows Phone Apps".

有谁知道这两个项目的确切区别吗?

区别在于应用程序将使用的框架。

Silverlight 是一个类似 Flash 的插件,所以如果你开发一个使用它的应用程序,你必须使用他的 library/syntax。这是开发 Web 和 phone 应用程序的旧方法。

Universal 是 Microsoft 开发的新框架,旨在帮助开发人员创建 运行 既可以在 Windows Phone 也可以在 Windows 商店中使用的应用程序。

所以,您在网上找到的是正确的:Phone应用程序是针对通用框架的。 VS提供的声音是指: - 通用应用程序:适用于任何设备 (Phone/Tablet/PC) - Phone App:仅适用于 Phone(注意!可以使用为 Universal App 开发的任何库,因为 Universal App 可以 运行 on Phone) - Windows 应用程序:仅适用于 Tablet/PC(无 phone)。您可以使用通用应用程序库,例如 Phone 应用程序可以做到

希望对您有所帮助

主要区别在于 Windows Phone 8.1 Store Apps 严格使用 WinRT APIs,这在 Silverlight 下不可用。

在您继续阅读之前,这是简短版本:

  • Windows Phone 8.1 在所有 Windows Phone 8.1+ 上存储应用程序代码 运行 和Windows 8+台机器,因为它使用统一的WinRT API.
  • Windows Phone Silverlight App 代码 运行s on all Windows Phones 7+ 但是并非在所有 Windows 8 台机器上(ARM 机器不支持所有功能)。这就是 Windows 应用商店应用使用不同 API (WinRT) 的原因。您可能想看看这个 link:http://msdn.microsoft.com/en-us/library/windows/apps/jj681690%28v=vs.105%29.aspx

Windows Phones 仅使用最高版本 8 的 Silverlight 应用程序,而 Windows 8(更高版本)的应用程序也提供 WinRT API - 你可能已经注意到 Windows ARM CPU 的 8 RT 版本..

因此 - 为了停止 Silverlight 和 WinRT 的无限并行,Microsoft 决定统一开发过程。从 Windows Phone 8.1 开始,Windows Phone 还有 运行s WinRT(我认为更名为 Windows Runtime)应用程序。

主要优点是您现在可以轻松地将 Windows Phone 8.1 代码移植到 Windows 8.1 应用程序,反之亦然,因为两者都使用相同的 APIs。访问文件、存储、网络...在 Windows Phone 和 Windows 商店应用程序中都是一样的。

这就是通用应用程序发挥作用的地方。您现在可以轻松地创建一个包含 Windows Phone 8.1 和 Windows 8.1.

共享代码的通用项目,而不是稍后通过创建新项目来移植您的代码。

但是,缺点是您的应用不会 运行 Windows Phones < 8.1。

Silver Light 项目确实有服务参考设施,但在 window phone 中它已被删除,因此您可以在为 windows [=13] 开发时使用 azure 提供的服务或休息服务=]