為Windows 8和Windows Phone 8構建應用程式

來源:互聯網
上載者:User

Windows 8 和 Windows Phone 8 趨於融合。與此同時,有志於為這兩個平台構建應用程式的開發人 員必須瞭解兩者之間重要的相似之處和不同之處。瞭解 Windows 8 和 Windows Phone 運行時 API 當前 的共有功能使您非常有機會同時為這兩個平台交付應用程式,並利用大量同樣的知識、工具、代碼和資 產。在本文中,我將探討這些區別和共性,以協助您在開始構建同時面向這兩個平台的解決方案之前了 解能做到和做不到的事情。

UX 中的一致性(磁貼、形式豐富的觸摸介面、應用程式列和導航的用法)簡化了為這兩個平台設計和實 現應用程式的過程。而採用同一個 API 介面區可簡化許多方案下的代碼共用。可選擇適合應用程式的 技術: 對這兩個平台使用 C#、Visual Basic、C++ 或混用這幾種技術。aka.ms/sharecode 上的資 源包含有關建立在 Windows Phone 8 和 Windows 8 中啟動並執行應用程式的大量資訊,以及為了在為兩者 構建應用時最大限度地重複利用代碼的現有代碼共用方法。

具體各方面的比較

為了有效地為這兩個平台編寫代碼,需要瞭解功能上的重要區別,以及大體上類似但 API 和實現有 所不同的功能。對於這些功能,不應嘗試進行代碼重用。我將詳細介紹三個重要的關注方面:

UX

資料模型和支援代碼

特定於平台的功能

UX

在設計跨平台應用程式的 UI 時,外觀尺寸是一個重要的考慮因素。需要考慮螢幕解析度、螢幕大小 和裝置預設方向等特性。必須謹慎決定 UI 以確保使用者體驗在特定裝置的約束下得到最佳化。

您很快就會意識到,在 Windows Phone 8 應用程式中加入 Windows 市集應用的所有功能並不合 理,因此必須為每個平台設計其自身的 UX。圖 1 舉例介紹為了構建儘可能最佳的體 驗所必須考慮的各種 UX 區別。

圖 1:Windows Phone 8 與 Windows 8 UX 功能比較

XAML 命名空間 :雖然 Windows 8 和 Windows Phone 8 都使用 XAML 進行 UI 設計,但不應跨應用程式重用 XAML。這兩個平台的區別巨大:頁面配置和方向、XAML 命名空間和 XAML 控制項,使得重用這一點變得非 常困難。

雖然許多控制項在兩個平台中都存在,但這些控制項所在的命名空間不同。例如,可在 Windows.UIXaml.Controls、Microsoft.Phone.Controls 和 Microsoft.Phone.Shell 中找到 Windows Phone 的 Windows 8 等效控制項,而 System.Windows.Controls 包含 Windows 8 控制項和一些共用控制項。 幸運的是,XAML 編輯器將在您嘗試添加不支援的控制項時警告您。但是,XAML 不支援條件編譯,因此無 法輕鬆地在運行時為一個平台或另一個平台加入命名空間。

XAML 控制項:每個控制項陳列庫均為其對應的平台進行了最佳化。因此,強烈建議分別為每 個平台自行設計使用者控制項。這樣將協助在每個平台上保持一致的 UX,同時降低因出錯而遷移 XAML 的可 能性。圖 2 顯示一些基本控制項。

圖 2:Windows Phone 8 和 Windows 8 基本控制項

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.