2013-03-11 266 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桌面應用程序。

相關問題