2012-12-19 121 views
3

我打算開發可用於手機,平板電腦和PC的Windows 8應用程序。我如何理解它,我可以爲所有設備使用相同的代碼。 (當然一些UI的東西必須改編)爲地鐵和桌面開發Windows 8應用程序

因爲它是一個商業應用程序,所以定製者想要一個額外的桌面版本。我可以使用桌面版的metro代碼嗎?我需要採取哪些步驟同時開發Metro應用程序和桌面應用程序?

P.S.我正在計劃用C#開發它...

+0

對不起,我很難理解你,你的主要問題是:將Metro應用程序移植到桌面應用程序的過程是什麼?你可能更好地改變你的標題以反映這一點。 –

回答

7

是的,您可以在兩個應用程序中使用幾乎相同的代碼,使用MVVM模式。在這種模式下,您的應用程序分爲三大部分:視圖,視圖模型和模型。 Model和ViewModel是可移植的(您可以創建一個Portable Library並引用相同的文件作爲Metro和Desktop應用程序項目的鏈接)視圖取決於平臺

正如您可能已經想象的那樣,Model是Data ViewModel是View和Model之間的聯繫,你可能希望將數據保存到本地存儲,這取決於平臺。爲此,您可以創建接口並在ViewModel上實現它們,因爲這是唯一不同的跨部分ViewModels在不同的平臺上

2

是的,沒有。

是的,您可以在Metro和桌面應用程序中使用C#代碼。

但是,在這些應用程序中處理數據和輸入的方式有很多不同。

他們是2個不同的輸入不同,建設網頁和

例如沙盒並不在桌面上的應用程序適用的方式完全不同的系統。 (這僅僅是百萬中的一個例子)。

雖然你的應用程序的主要邏輯將保持不變,也不會是簡單的兩個

This之間的轉換是覆蓋相反的資源。

+1

感謝您提出一個極端微妙而重要的一點。它們都建立在.NET語言之上,但它們不僅僅是兩個不同的UI。他們有些不同的範例。 MVVM不會完全解決這個問題。便攜式類庫試圖解決這個問題,但是目前他們還沒有達到100%。 –

相關問題