2017/1/2

幾億美金的 Xamarin,讓你一次開發所有手機平台

Xamarin 教學


2016 年微軟拋下的震撼彈之一,絕對是花了不知道幾億美金收購 Xamarin 這間跨平台開發公司。

到底是什麼東西,可以讓微軟花錢如此不手軟。

最簡單描述 Xamarin 一句話就是,

三個願望,一次滿足。

學一次 Xamarin,寫一次邏輯,開發人員就能同時生出 Android,iOS,Windows phone...以上三個平台的 App。( 本站講解都會跳過 windows phone)
三種App,一次開發。 

且微軟不只收購了 Xamarin,也很大膽的把 Xamarin 大部分程式碼 Open Source,原始碼都能在 Github 上找到。https://github.com/xamarin

試想一下,一間軟體公司為了同一套 App,卻因為 iOS 和 Android 兩種不同平台的需要,而要雇用兩個團隊 (或是兩個人),代表的就是額外一 倍薪水成本支出。

一位工程師為了寫 Android 需要學 JAVA,為了寫 iOS 需要學 Object-c,甚至新的語言 Swift,會不會哪天 Google 看 JAVA 不爽也自己出了什麼語言...
在 Xamarin,你只需要學 C#。

學 Xamarin 需要具備什麼?
  1. C#       ( 微軟自家擁有強大 Libary 的語言 )
  2. XAML  ( 標籤式語法,XML 的擴充版,類 Html)
  3. Mac       ( iOS App需要 Mac 的 Xcode 編譯 )
前面兩點其實就是開發時 後端前端 所需要具備的知識基礎。

第三點則是因為受限於 Xcode 的編譯,你必須要有一台潮 Mac 才能生出 iOS App。


開發環境?

若你是 Windows OS 的使用者,可以直接安裝 Visual StudioCommunity 版是免費的。

若你是 Mac OS 的開發者,也可以下載 Visual Studio For Mac 來開發。


Xamarin 本身還有分出三種開發方案:
  1. Xamarin.Forms
  2. Xamarin.Android
  3. Xamarin.iOS
第二和第三種應該不用多做解釋...

至於第一種的 Forms 其實是 Platforms 這個單字的後半段,意思是在這方案底下能夠同時開發跨平台的應用程式。

當你用 Visual Studio 建立一個全新的 Xmarin.Forms 方案後,就能在方案總管內看到三種平台的專案和一個共用專案 (可攜式)。

Xamarin 教學


關於 Xamarin.Forms 這項技術,

微軟官方有提供免費的電子書可以下載來看,寫得很棒 !

Xamarin 教學

如果不想看原文,也可以期待一下本站,會逐篇用中文講解。


最後初學者可能有一些疑惑

iOS 和 Android 的原生碼若更新怎辦?
別擔心,Xamarin 的團隊會在同一時間釋出 iOS更新,而 Android 因為一般人更新速度也不快,似乎會較慢一點發布。


Xamarin 效能會不會很差啊?
底下這網址有做了一連串的測試,結論就是...

Xamarin 的效能和原生 Java 或 object-C 不會差太多,甚至有些程式碼執行的效能還贏過原生碼 (殺虫)。
https://magenic.com/thinking/mobile-development-platform-performance

Development PlatformTest 1Test 2Test 3Test 4Test 5Test 6Test 7Test 8Test 9Test 10Test Avg.
Android
Java4.314.314.24.334.394.374.324.454.344.44.342
Cordova91.699594.3194.494.7394.194.191.893.6397.7594.151
Classic Xamarin4.274.254.154.324.514.414.224.124.144.194.258
Xamarin.Forms4.214.174.314.34.24.344.294.364.224.194.259
iOS
Objective-C5.045.495.384.864.85.025.034.834.844.855.014
Cordova66.9667.3667.2267.367.1767.4467.1367.1167.5867.6467.291
Classic Xamarin4.414.424.354.344.494.374.174.274.394.284.349
Xamarin.Forms4.514.334.314.314.334.44.414.44.334.464.379
*results in seconds
附上其中一個數據圖可以清楚的了解,Cordova 慢到炸掉。

2 則留言:

  1. 您好:
    想要邀請您來上有關Xamarin的課,
    地點在新北市新店區, 不曉得您是否可以?
    請問您是在學中還是就業中?
    謝謝

    回覆刪除
    回覆
    1. 您好,可以加我的 LINE: Magic0800 聊一下

      刪除