XamarinForms 系列課程

特別說明

2017/01/10

Xamarin FAQ 1-09 : 開發 Xamarin.Forms 建議的開發配備

問題

開發跨平台的原生應用程式 (Native App),勢必要考慮到各種行動裝置的開發與測試情境,採用模擬器來測試原生應用程式是最常見的作法。當您選擇 Xamarin.Forms 來建置 App 時,最讓人頭疼的就是架設好完整的開發環境,然而跨平台的 App 會牽涉到許多平台上的限制,對於軟硬體配備的選擇就是一門大學問,那麼想要開發 Xamarin.Forms 的應用程式,要如何準備相關的軟硬體環境呢?
+

解答

開發跨平台的原生應用程式 (Native App),勢必要考慮到各種行動裝置的開發與測試情境,採用模擬器來測試原生應用程式是最常見的作法。當您選擇 Xamarin.Forms 來建置 App 時,最讓人頭疼的就是架設好完整的開發環境,然而跨平台的 App 會牽涉到許多平台上的限制,對於軟硬體配備的選擇就是一門大學問,本篇文章將說明在不同需求下需要考量的軟硬體配置。

電腦與作業系統需求

Mac OS X

  • 作業系統需求:Mac OS X Yosemite(10.10) 或者以上版本
  • 需要安裝最新版本的 Xcode 與 iOS SDK ( 可以從 iOS Developer Center 來下載 )
  • 安裝最新版本的 Xamarin Studio ( 可以從 這裡 來下載 )

Windows

  • 作業系統需求:Windows 10 Professional
  • 需要安裝 Hyper-V 服務
  • 安裝 Visual Studio 2015 ( 可以從 這裡 來下載 )

開發工具需求

透過 Xamarin.Forms 來開發跨平台的原生應用程式 (Native App),在不同的作業系統與整合開發環境 IDE 工具能夠產生出不同類型的原生應用程式,目前有以下兩個 IDE 工具可選:

Visual Studio 2015 (只能執行在 Windows 上面)

  • 可以開發、建置原生 Android / UWP 應用程式。
  • 安裝時,請記得要勾選 Android 原生開發套件(SDK) 與 通用應用程式開發工具 (UWP SDK) 安裝到您的電腦下。

Xamarin Studio (只能執行在 Mac 電腦上)

  • 可以開發、建置原生 Android / iOS 應用程式。
  • 您必須額外安裝 iOS SDK & Xcode 等工具程式。
簡單來說,你沒辦法透過 Mac 電腦產生出 UWP 應用程式,也沒辦法單純只用 Windows 電腦產生出 iOS 應用程式。
若您想同時開發出 iOS / Android / UWP 等跨平台應用程式,你必須至少準備兩台電腦才有辦法建置出完整的跨平台應用程式。

常見問題解答

  1. 我可否在 Mac OS X 上面安裝虛擬機器,並且在 VM 中跑 Windows 作業系統,這樣我可以用一台 Mac 電腦進行跨平台應用程式開發嗎?
    Windows 10 Mobile 模擬器需要 Hyper-V 服務才能夠運行,因此,若在 Mac OS X 上的 Parallels Desktop Pro 有支援 nested virtualization,因此開 Windows 10 Mobile 模擬器上安裝虛擬機器,並且在 VM 中跑 Windows 作業系統(感謝 Yu-Hsin Hung 幫忙修正)。
  2. 當 Android & iOS 有最新的SDK推出,Xamarin 何時可以支援這些最新的 SDK?
    對於有新版本的 Android & iOS 推出後,根據以往經驗,最多 2~7天,Xamarin 就會推出相對應的更新,讓您可以使用這些最新的 SDK 來開發這些應用程式。
  3. 當我選擇使用 Xamarin,我的應用程式有多少比例使用 C# 撰寫出來?
    您的應用程式將會 100% 都使用 C# 來撰寫並開發出來,這包含了 UI、商業邏輯。
  4. 在進行 Xamarin.Forms 應用程式開發時候,我可以使用第三方的 .NET 程式庫嗎?
    是的,例如,您可以使用 Json.NET NuGet 套件在 PCL 專案上或者使用在各個原生專案上。
  5. 當我在 Windows 作業系統的 Visual Studio 2015 開發 Xamarin.Forms 應用程式,卻無法透過 Xamarin Mac Agent 與遠端 Mac電腦連線?
    您需要在 Mac 電腦上啟用 遠端登入 功能,並且設定相關帳號可以使用遠端登入功能;若還是不行,請確認 Mac 電腦上沒有做 SSH ( 22 Port)的阻擋。您可以在 Windows 作業系統上,使用類似 Putty 這裡終端機連線工具,設定使用 SSH 方式連線到 Mac 電腦來進行測試。
  6. 我使用 Xamarin.Forms 進行開發跨平台應用程式,我還需要學習個平台的 UI 定義與設計方法嗎?
    若您採用 Xamarin.Forms 進行開發跨平台應用程式,所有的頁面 UI 都會透過 XAML 標記宣告語言來定義;因此,您不再需要學習 Android 的 XML UI定義與 iOS 的 Storyboard。
  7. 當我使用 Visual Studio 開發 Xamarin.Froms 應用程式,我可以在 Windows 系統上看到 iOS 模擬器嗎?
    當然可以,若您使用 Visual Studio 開發 Xamarin.Forms應用程式,可以同時看到與操作 Android, iOS, Windows 10 Mobile 的模擬器;若您想要在 Windows 作業系統上使用 iOS 模擬器,請安裝 iOS Simulator (for Windows)
  8. 哪個 Visual Studio 2015 版本支援 Xamarin.Forms 的應用程式開發
    全系列的 Visual Studio 2015 都可以開發 Xamarin.Forms 的應用程式,包含 Visual Studio 2015 社群版本。
  9. 由於 Xamarin.Forms 程式會在 PCL 專案內開發,我可以在 PCL 專案內呼叫原生(Android/iOS/UWP)專案內的各項功能嗎?(例如:拍照、GPS定位等等)
    這絕對是沒有問題,您可以透過插件 (Plug-ins)或者 Xamarin.Forms 內建的相依性服務功能,來做到這些需求。
  10. 想要使用 Xamarin.Forms 開發應用程式,有哪些技術項目是要學的?
    只要您精通 C# / XAML / MVVM 這些觀念與技巧,就可以快速開發出容易維護與高效能的原生應用程式。
  11. 我可以針對特定平台的 UI 進行客製化設計,例如:在 Android 平台中的文字輸入盒,可以有四週框線?
    完全沒有問題,您可以透過 UI Renderer 技術,針對不同平台來客製化 UI 要顯示成為甚麼樣貌。
  12. Xamarin.Forms 有支援 UI 自動測試功能嗎? 
    您可以使用 Xamarin.UITest 來撰寫 UI 自動測試的程序,並且透過 Xamarin 提供的 Test Cloue,將您的應用程式一次佈署不同的實體使用上,得到在不同手機上的測試結果與當時的螢幕截圖。注意,這項服務需要另外付費
  13. 哪些種類的應用程式,不適合使用 Xamarin.Forms 方式來進行開發。
    具有豐富變化的UI設計(例如 Game)、需要使用大量原生平台專屬 API (大量地圖方面的應用)、多媒體應用程式(AR / VR)、客製UI比起共用程式碼來的重要的應用程式(每個平台,需要大量客製化不同樣貌的UI)

沒有留言:

張貼留言