首页 文章

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

提问于
浏览
17

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

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

我看到我的解决方案将名称更改为“Windows Phone SilverLight 8.1” .

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

  • 通用应用

  • Windows Apps

  • Windows Phone应用程序

enter image description here

我的目标是开发使用Windows Phone 8.1的手机设备,我选择了“Windows Phone应用程序” . 但我看到这个项目与另一个项目(我从WP8升级的项目)有点不同 . 在解决方案上显示“Windows Phone 8.1”而不是“Windows Phone SilverLight 8.1” . 代码也非常不同 .

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

但我找不到任何让我理解的东西 .

在某些时候,我找到了一个答案,说“Windows Phone 8.1”适用于通用应用程序...但我不同意,如果我想创建一个通用应用程序,我会选择“通用应用程序”而不是“Windows Phone应用程序” .

有谁知道这两个项目之间的区别?

3 回答

  • 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 Phones 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的无尽并行性,微软决定统一开发过程 . 从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上运行 .

  • 2

    不同之处在于应用程序将使用的框架 .

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

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

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

    我希望这可以有所帮助

  • -1

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

相关问题