我正在观看一些用于开发Windows Phone 7应用程序的视频教程(并且希望在此基础上开发Windows 8应用程序;)视频教程中的人使用的是Visual Studio 2010,我有Visual Studio 2012.他创建了一个使用“New - > Project - > Silverlight for Windows Phone”选项的新项目。虽然我没有这样的选项,但我有一个名为“New - > Project - > Windows Phone”的选项。这让我想知道这两者之间是否存在差异。有人可以解释它们之间的区别,如果有的话吗?
答案 0 :(得分: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。
答案 1 :(得分:2)
微软只是试图减少术语并推广某些方式。 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中制作应用程序的完全独立的方式。没有代码silverlight代码可以在XNA项目中使用,也不能在WP7.0的silverlight项目中共享XNA代码。 Windows Phone 7.0的程序员必须在选择之前知道每个的含义以及何时使用。 silverlight和xna的学习路径太孤立,你可以学习一个而完全忽略另一个;事实上,大多数程序员只学到了两者之一。你必须在实现一个大应用程序之前选择两者之间的路径,因为没有办法回来:即,没有办法在两者之间传递代码。
然而,从Windows Phone Mango开始,微软推出了Silverlight / XNA。 Silverlight / XNA是Windows手机Mango的新应用程序模型。它允许在Silvelight App中使用XNA。将XNA游戏迁移到Silverlight / XNA并非易事,但可以获得奖励。
Silverlight将UI控件作为Textblock和Drop列表,并将布局设置为Grid和stackpanel;因此,很容易在看起来像表格的silvelight中制作应用程序,而XNA则面向游戏,因为它是基于状态的编程。对于大多数开发人员来说,在XNA中实现下拉列表非常困难。
Silverlight应用程序更名为Windows Phone应用程序,以此作为起点推广,无需在选择中进行深入思考。
Silverlight是Windows演示基础的精简版本,无法定义您自己的控件.Windows手机的Silverlight是一个更加精简的版本,删除所有不适合移动设备的控件,并删除大部分加密库。
这与微软将地铁风格的应用程序重命名为windows 8应用程序,windows应用程序转换为Windows窗体应用程序的方式相同;然后Windows窗体和WPF稍后重命名为Windows桌面应用程序。