2013-03-11 219 views
5

我正在看一些开发Windows Phone 7应用程序的视频教程(&希望能够在此基础上开发Windows 8应用程序;)视频教程中的人使用Visual Studio 2010,并且我拥有Visual Studio 2012.他创建了一个新项目使用选项“新建 - >项目 - > Silverlight for Windows Phone”。虽然我没有这样的选项,但我有一个名为“新建 - >项目 - > Windows Phone”的选项。这让我想知道这两者之间是否有区别。有人可以解释他们之间的区别吗?“Windows Phone应用程序”和“Silverlight for Windows Phone应用程序”有何区别?

回答

3

Visual Studio 2010只能创建Windows Phone 7的应用程序。而Silverlight是WP7上第三方开发人员可用的唯一API(即使XNA基于Silverlight)。由于Windows Phone 8(由Visual Studio 2012支持),添加了一种新的应用程序:native(基于C++),HTML5 ...这就是为什么调用类别“Silverlight for Windows Phone”没有意义了,它只是改名为“Windows Phone”。

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

2

Microsoft仅尝试减少术语并推广某些方法。 Windows Phone应用程序与Silverlight for Windows Phone相同。根据安装的更新,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的学习路径太分离,你可以学习一个,完全忽略另一个;实际上大多数程序员只学习了其中的一个。在实现大型应用程序之前,您必须选择两者之间的路径,因为没有办法返回:即无法在两者之间传递代码。然而,微软推出Silverlight/XNA之后,Windows Phone Mango开始了。 Silverlight/XNA是Windows Phone Mango的新应用程序模型。它允许XNA内部Silvelight应用程序。将XNA游戏迁移到Silverlight/XNA并不是一件容易的事情,但是会有所收获。

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

Silverlight应用程序被重新命名为Windows Phone应用程序,将其作为一个起点推广,而无需在选择中做深入的思考。

Silverlight是Windows展示基础的精简版本,无法定义自己的控件。Silverlight for Windows Phone是一个更加精简的版本,删除了所有不适合移动设备的控件,并删除了大多数加密库。

这与微软将metro风格的应用程序重新命名为Windows 8应用程序以及将Windows应用程序重命名为Windows窗体应用程序的方式相同;然后Windows窗体和WPF稍后重新命名为Windows桌面应用程序。

相关问题