“Windows Phone 应用程序”和“Silverlight for Windows Phone 应用程序”的区别是什么?

5
我正在观看一些有关开发Windows Phone 7应用程序的视频教程(希望能够在此基础上开发Windows 8应用程序 ;))。视频教程中的人使用的是Visual Studio 2010,而我有Visual Studio 2012。他使用“新建->项目->Silverlight for Windows Phone”选项创建了一个新项目。虽然我没有这样的选项,但我有一个名为“新建->项目->Windows Phone”的选项。这让我想知道它们之间是否有区别。如果有的话,有人可以解释一下它们之间的区别吗?
2个回答

3

Visual Studio 2010只能制作Windows Phone 7应用程序。在WP7上,Silverlight是第三方开发者唯一可用的API(即使XNA也是基于Silverlight)。

使用Visual Studio 2012支持的Windows Phone 8,新增了一种应用程序类型:本地应用程序(基于C++)、HTML5等。这就是为什么称该类别为“Silverlight for Windows Phone”不再有意义,并简称为“Windows Phone”的原因。

这只是一个名称,对您来说没有任何区别。在创建新的“Windows Phone应用程序”项目时,Visual Studio会询问您想要针对哪个版本进行目标设置。如果选择“Windows Phone 7.1”,则会获得与Visual Studio 2010中相同的API。


2
微软只是试图简化术语,普及某些方式。Windows Phone 应用与 Windows Phone 上的 Silverlight 是相同的。唯一的区别是,Visual Studio 2010 中的 Silverlight 项目是针对开发人员选择的 Windows Phone 7.0 或 Mango(由 SDK 编号为 Windows Phone OS 7.1,用户称之为 Windows Phone 7.5)或根据安装的更新为 Windows Phone 7.8。但是,如果在 Visual Studio 中使用 Windows Phone 项目,则将针对 Windows Phone Mango 或 7.8 或 8。请注意,可能需要选择性更新以针对某些平台,如 Windows Phone 7.8。Windows Phone 7.8 基本上是具有从 Windows Phone 8 回溯到其的一些功能,例如多尺寸动态磁贴的 Windows Phone 7,以及一些未回溯到其的功能,例如阿拉伯支持。
Silverlight 和 XNA 是在 Windows Phone 7.0 中制作应用程序的完全不同的方式。在 WP7.0 中,没有 Silverlight 代码可以在 XNA 项目中使用,也没有 XNA 代码可以在 Silverlight 项目中共享。Windows Phone 7.0 的程序员必须在选择之前知道每个含义和何时使用。Silverlight 和 XNA 的学习路径过于分离,您可以学习其中一个,并完全忽略另一个;实际上,大多数程序员只学习其中一个。在实现大型应用程序之前,必须在两者之间选择自己的路径,因为没有办法返回,即不能在两者之间传递代码。
但是,从 Windows Phone Mango 开始,Microsoft 推出了 Silverlight/XNA。Silverlight/XNA 是 Windows Phone Mango 的新应用程序模型。它允许在 Silvelight 应用程序中使用 XNA。将 XNA 游戏迁移到 Silverlight/XNA 不是一项容易的任务,但会带来回报。
Silverlight 具有 Textblock 和 Drop list 等 UI 控件,并具有 Grid 和 stackpanel 等布局;因此,在 Silverlight 中制作类似表单的应用程序很容易,而 XNA 面向游戏,因为它是基于状态的编程。对于大多数开发人员来说,在 XNA 中实现下拉列表非常困难。
Silverlight 应用已更名为 Windows Phone 应用,以作为起点流行化,而无需深入思考选择。
Silverlight 是 Windows Presentation Foundation 的精简版,去除了定义自己控件的能力。而针对 Windows Phone 的 Silverlight 是更加精简的版本,删除了所有不适用于移动设备的控件,并删除了大多数密码库。
这与微软重新命名 Metro 样式应用程序为 Windows 8 应用程序、Windows 应用程序为 Windows Forms 应用程序以及稍后将 Windows Forms 和 WPF 重命名为 Windows 桌面应用程序的方式相同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接