我正在阅读有关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#树下看到了以下选项(如图所示):
由于我的目标是开发使用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应用"。
有没有人确切知道这两个项目之间的区别?
答案 0 :(得分:22)
主要区别在于Windows Phone 8.1 Store Apps严格使用Silverlight下不可用的WinRT API。
在您阅读之前,这是简短版本:
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提供的服务或休息服务