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

时间:2015-01-18 17:28:09

标签: silverlight windows-phone-8.1

我正在阅读有关Windows Phone 8.1开发的内容,因为我已经使用过Windows Phone 8,我打算开始使用新的操作系统版本。

然后我用更新4下载了Visual Studio for Windows,打开了我的一个项目(目标到WP8)并点击了#34;升级到8.1"。

我看到我的解决方案将名称更改为" Windows Phone SilverLight 8.1"。

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

  • Universal Apps
  • Windows Apps
  • Windows手机应用

enter image description here

由于我的目标是开发使用Windows Phone 8.1的手机设备,我选择了" Windows Phone应用程序"。但我看到这个项目与另一个项目(我从WP8升级的项目)有点不同。它出现了#34; Windows Phone 8.1"在解决方案而不是" Windows Phone SilverLight 8.1"。代码也非常不同。

所以,我对它做了一个研究,以了解" Windows Phone SilverLight 8.1"和#34; Windows Phone 8.1",阅读一些这样的帖子:

但我无法找到任何让我理解的东西。

在某些时候,我找到了答案,说明了#34; Windows Phone 8.1"适用于Universal Apps ...但我不同意,如果我想创建一个通用应用程序,我会选择" Universal App"而不是" Windows Phone应用"。

有没有人确切知道这两个项目之间的区别?

3 个答案:

答案 0 :(得分:22)

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

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

  • Windows Phone 8.1商店应用代码可在所有 Windows Phone 8.1 + Windows 8 + 计算机上运行,​​因为它使用统一的WinRT API。
  • Windows Phone Silverlight应用程序代码在所有 Windows Phone 7 + 上运行,但不在所有Windows 8计算机上运行(ARM计算机不支持所有功能)。这就是Windows应用商店应用使用不同API(WinRT)的原因。您可以查看以下链接:http://msdn.microsoft.com/en-us/library/windows/apps/jj681690%28v=vs.105%29.aspx

Windows Phone仅使用版本8的Silverlight应用程序,而Windows 8的应用程序(一个版本)也提供了WinRT API - 您可能已经注意到ARM CPU的Windows 8 RT版本..

所以 - 为了阻止Silverlight和WinRT的无尽并行性,Microsoft决定统一开发过程。从Windows Phone 8.1开始,Windows Phone还运行WinRT(我认为更名为Windows Runtime)应用程序。

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

这是Universal Apps发挥作用的地方。您现在可以轻松地创建一个包含Windows Phone 8.1和Windows 8.1共享代码的通用项目,而不是稍后通过创建新项目来移植代码。

然而,缺点是你的应用程序不能在Windows Phone上运行< 8.1。

答案 1 :(得分:2)

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

Silverlight是一个类似Flash的插件,所以如果你开发一个使用它的应用程序,你必须使用他的库/语法。这是开发网络和电话应用程序的一种老方法。

Universal是Microsoft开发的新框架,可帮助开发人员创建在Windows Phone或Windows Store上运行的应用程序。

因此,您在互联网上找到的内容是正确的:手机应用程序适用于通用框架。 VS提供的声音意味着: - 通用应用程序:适用于任何设备(手机/平板电脑/ PC) - 手机应用程序:仅适用于手机(注意!可以使用任何为通用应用程序开发的库,因为通用应用程序可以在手机上运行) - Windows应用程序:仅适用于平板电脑/ PC(无手机)。您可以像手机应用程序一样使用通用应用程序库

我希望这可以帮助

答案 2 :(得分:-1)

Silver Light项目确实有服务参考设施,而在窗口电话中它被删除,因此您可以在开发Windows Phone时使用azure提供的服务或休息服务