目前 Visual Studio 2015 的跨平臺應用開發,是基于 Xamarin,因此你需要安裝 Xamarin 套件(安裝過程需要下載很多包,Xamarin 得到了來自微軟的大力支持,而微軟則直接將 Xamain 融合進 Visual Studio 2015,以扭轉它在移動領域的頹勢。
Xamarin將原生(Native)的 IOS及Android API轉換為C# 函式庫供使用者使用,開發人員可使用C#撰寫程序,并呼叫原生平臺(IOS, Android)的API,且透過良好的設計,可以在不同平臺共享部份程序代碼。開發人員可透過Xamarin編譯程序,直接將程序編譯為ARM的執行檔,并進行各平臺的封裝。編譯封裝完成的App由于不經過中間轉譯,直接編譯為原生的二進制執行文件,因此具有好的運作效能。
Visual Studio 跨平臺開發,我認為非常的值得嘗試,畢竟對于我們這個 .NET 起家的團隊來說,去新組建 Android 和 iOS 開發團隊的成本絕不少,而且團隊這方面的技術積累也很薄弱。
如果你做過 .NET 和 Android 開發,那么看一下這個視頻 https://xamarin.com/visual-studio,Wow,像不像 Windows Form 開發?終于可以解放生產力了!
Visual Studio 2015 支持兩種方式開發跨平臺移動應用:
使用 C# / F# 開發跨平臺的 Android IOS WP 原生應用。
使用 Apache Cordova 框架開發基于 HTML 技術的跨平臺應用。
使用 C++ 開發原生 Android 應用。
Xamarin 開發平臺主要包含以下4大部分:
開發程序語言:Xamarin 以C# 作為開發程序語言,開發人員直接撰寫C# 即可進行開發。整合開發工具:Xamarin 提供整合開發工具 (IDE) Xamarin Studio,開發人員可直接于此工具上進行開發、除錯、測試與仿真 等作業。Xamarin也針對Microsoft Visual Studio提供附掛套件 (Plug-In)。跨平臺開發框架: (Mono .Net Framework)Xamarin 提供開發框架,支持跨平臺的功能實作 (cross-platform implementation)。編譯程序: Xamarin 具有各平臺的編譯程序,可直接編譯為 iOS 與 Android 平臺的機器碼。
C# 開發跨平臺
可以使用 C# 的幾乎所有特性。
可以使用第三方 .NET 類庫。
既可以分別為不同平臺使用 Xamarin 提供的設計器設計原生 UI (所謂原生,就是使用的技術都是原汁原味的,只不過集成進了 Visual Studio 內)。
也可以使用 Xamarin 系統的方案,只需一份代碼,就可構建跨平臺的界面。
實際體驗了一下,因為 C# 更緊湊的語法加上 VS 的高度智能,比用 eclipse 開發效率高不少(eclipse 有些地方實在是太不智能了),項目的結構基本上和 Android Java 開發一致,從 Java 開發轉過來會很順利。
舉個例子,我使用了 .NET 里的任務庫開啟一個異步線程,然后使用了第三方 JSON 庫生成一段 JSON 后更新到界面上:
我感受到了純粹的 C# 開發體驗,沒做過 Java 開發的人可知道上面的 C# 代碼要是用等同的 Java 寫得有多啰嗦。
iOS 方面,和 Android 的體驗差不多,不過部署和調試,需要通過網絡遠程連接到 Mac 電腦上。