有許多文檔介紹將應用程式從 iOS 移植到 Windows Phone,但是在本文中,我要從為這兩種平台從 頭開始編寫新應用程式的前提開始講起。我不會對這兩種平台戶的孰優孰劣做出價值評判。相反,我對 編寫應用程式報以務實的態度,並描述在編寫應用程式時這兩種平台的異同之處。
作為 Windows Phone 團隊的成員,我對 Windows Phone 平台充滿熱忱,但是本文的重點不是說一種平台優 於另一種平台,而是說平台是不同的,因此需要一些不同的編程方法。儘管您可以使用 MonoTouch 系 統在 C# 中編寫 iOS 應用程式,那是小眾環境。在本文中,我使用標準 Xcode 和 Objective-C 編寫 iOS 應用程式,用 Visual Studio 和 C# 編寫 Windows Phone 應用程式。
目標使用者體驗
我的目標是在應用程式的兩個平台版本上實現相同的使用者體驗,同時確保每個版本忠實於目標 平台的模型和理念。為了說明我的意思,請考慮應用程式的 Windows Phone 版本用垂直滾動的列表框 實施主使用者介面,而 iOS 版本則用水平 ScrollViewer 實施主使用者介面。很明顯,這些差別僅僅是軟 件方面的,也就是說,我可以在 iOS 中編寫一個垂直滾動的列表,在 Windows Phone 中編寫一個水平 滾動的列表。強制使用這些喜好設定會不太忠實於各自平台的設計理念,然而,我想避免這種“不自然 的行為”。
應用程式 SeaVan 顯示了美國西雅圖與加拿大不列顛哥倫比亞省溫哥華之間的四條 陸地邊境通道,以及每條邊境通道的等候時間。此應用程式通過 HTTP 從美國和加拿大的政府網站提取 資料,並通過按鈕手動重新整理資料,或通過計時器自動重新整理資料。
圖 1顯示了這兩種實施。您會 注意到一個差別在於 Windows Phone 版本是有主題感知功能,並使用當前的強調文字顏色。相反,iOS 版本沒有主題或強調文字顏色概念。
圖 1 應用程式 SeaVan 在 iPhone 和 Windows Phone 裝置上的主使用者介面螢幕