5

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

4

2 回答 2

3

Visual Studio 2010 只能为 Windows Phone 7 制作应用程序。而 Silverlight 是 WP7 上唯一可供第三方开发人员使用的 API(甚至 XNA 也是基于 Silverlight)。

在 Windows Phone 8(由 Visual Studio 2012 支持)中,添加了新类型的应用程序:本机(基于 C++)、HTML5……这就是为什么称“Silverlight for Windows Phone”这个类别不再有意义了,它是简单地重命名为“Windows Phone”。

这只是一个名字,对你没有任何影响。创建新的“Windows Phone 应用”项目时,Visual Studio 会询问您要定位哪个版本。如果您选择“Windows Phone 7.1”,您将获得与 Visual Studio 2010 中完全相同的 API。

于 2013-03-11T06:59:13.200 回答
2

微软只是试图减少术语并普及某些方式。Windows 手机应用程序与适用于 Windows 手机的 Silverlight 相同。唯一不同的是,Visual Studio 2010 中的 Silverlight 项目针对开发人员选择 windows phone 7.0 或 Mango(Mango 在 SDK 中编号为 Windows Phone OS 7.1,而用户称其为 Windows Phone 7.5)或 7.8(根据安装的更新)。但是,如果您在 Visual Studio 中使用 windows phone 项目,您将面向 Windows phone Mango 或 7.8 或 8。请注意,可能需要可选更新以针对 Windows phone 7.8 等某些平台。windows phone 7.8 基本上是一个 windows phone 7,其中一些功能从 windows phone 8 作为多尺寸动态图块向后移植到它,而一些功能没有作为阿拉伯语支持向后移植到它。

Silverlight 和 XNA 是在 Windows Phone 7.0 中制作应用程序的完全不同的方法。在 XNA 项目中不能使用任何代码 silverlight 代码,也不能在 WP7.0 的 silverlight 项目中共享 XNA 代码。Windows Phone 7.0 的程序员在选择之前必须知道每个的含义以及何时使用。silverlight 和 xna 的学习路径过于分离,以至于您可以学习其中一个而完全忽略另一个;事实上,大多数程序员只学到了两者中的一种。在实现大型应用程序之前,您必须在两者之间选择路径,因为没有回头路:即,无法在两者之间传递代码。

然而,从 Windows Phone Mango 开始,微软推出了 Silverlight/XNA。Silverlight/XNA 是 Windows phone Mango 的新应用模型。它允许在 Silverlight 应用程序中使用 XNA。将 XNA 游戏迁移到 Silverlight/XNA 不是一件容易的事,但会很有价值。

Silverlight 的 UI 控件为 Textblock 和 Drop list,布局为 Grid 和 stackpanel;所以很容易制作一个看起来像表单的应用程序,而 XNA 是面向游戏的,因为它是基于状态的编程。对于大多数开发人员来说,在 XNA 中实现一个下拉列表是非常困难的。

Silverlight app改名为windows phone app,以普及为起点,无需深思熟虑选择。

Silverlight 是 Windows 演示基础的精简版,删除了定义您自己的控件的能力。而适用于 windows phone 的 Silverlight 是一个更加精简的版本,删除了所有不适合移动设备的控件,并删除了大多数密码库。

这与微软将 Metro 风格的应用程序重命名为 Windows 8 应用程序,并将 Windows 应用程序重命名为 Windows 窗体应用程序的方式相同;然后 Windows 窗体和 WPF 后来被重命名为 Windows 桌面应用程序。

于 2013-04-09T23:21:00.103 回答