Xamarin 移動端探索之旅(開篇)

生成移動應用可以像打開 IDE、編寫和測試應用,並提交到 App Store 一樣簡單,一個下午即可完成所有操作。 也可以是特別複雜的過程,包括嚴苛的預先設計,可用性測試,在數以千計的設備上進行 QA 測試,完整的 beta 生命週期,然後通過很多不同的方式進行部署。

本文檔介紹了 Xamarin 平臺。 若要詳細瞭解生成移動應用程序(從設計到測試)的過程 , 

Xamarin 簡介

考慮如何生成 Android 和 iOS 應用程序時,許多用戶都認爲本機語言、Objective-C、Swift、Java 和 Kotlin 是唯一的選擇。

Xamarin 允許用戶使用 C# 進行開發,具有一個可以在所有許多平臺(包括 iOS、Android 和 Windows)上運行類庫和運行時,同時還可以編譯本機(非解釋的)應用程序,即使對於要求很高的遊戲,這些應用程序的性能表現也足夠好。

Xamarin 結合了本機平臺的所有功能,並自身增加了大量的強大功能,包括:

  1. 基礎 SDK 完全綁定 - Xamarin 包含 iOS 和 Android 中幾乎整個基礎平臺 SDK 的綁定。 此外,這些綁定屬於強類型,意味着可以輕鬆導航和使用,並提供可靠的編譯時類型檢查和開發過程。 這可使運行時錯誤更少,應用質量更好。
  2. Objective-C、Java、C 和 C++ 互操作 - Xamarin 提供直接調用 Objective-C、Java、C 和 C++ 庫的功能,使用戶能夠使用已創建的各種第三方代碼。 這樣可以充分利用使用 Objective-C、Java 或 C/C++ 編寫的現有 iOS 和 Android 庫。 另外,Xamarin 還提供綁定項目功能,使用戶可使用聲明性語法輕鬆綁定本機 Objective-C 和 Java 庫。
  3. 新式語言構造 - XaTmarin 應用程序採用 C# 編寫,C# 是一種新式語言,包含針對 Objective-C 和 Java 的重大改進,比如*動態語言功能、功能性構造 (比如 *Lambdas)、LINQ、並行編程 功能和複雜泛型等。
  4. 出色的基類庫 (BCL) - Xamarin 應用程序使用 .NET BCL,後者是類的大量集合,具有全面而簡化的功能,比如強大的 XML、數據庫、序列化、IO、字符串和網絡支持等。 可以編譯現有 C# 代碼用於應用程序,這可提供對成千上萬的庫的訪問權限,允許用戶在其中執行 BCL 中尚無法執行的操作。
  5. 新式集成開發環境 (IDE) - Xamarin 在 macOS 上使用 Visual Studio for Mac,在 Windows 上使用 Visual Studio。 兩者都屬於新式 IDE,其中包括諸如代碼自動完成、複雜項目和解決方案管理系統、綜合項目模板庫、集成源代碼管理等功能。
  6. 移動跨平臺支持 - Xamarin 對 iOS、Android 和 Windows 這三個主移動平臺提供複雜的跨平臺支持。 可編寫應用程序共享其多達 90% 的代碼,並且 Xamarin.Mobile 庫提供了 Unified API 跨這三個平臺來訪問公共資源。 這可明顯減少移動開發人員針對這三種最熱門移動平臺的開發成本和進行市場推廣所需的時間。

藉助 Xamarin 強大全面的功能集,它填補了應用程序開發人員想要使用新式語言和平臺開發跨平臺移動應用程序的空白。

 備註

此入門系列重點介紹如何開始生成 iOS 和 Android 應用程序。 Microsoft 提供面向平板電腦和臺式電腦的通用Windows平臺(UWP)開發的相關信息。 若要了解有關使用 Xamarin(包括適用於 Windows 的 UWP 應用)進行跨平臺開發的詳細信息。

Xamarin 的工作原理?

Xamarin 提供兩種商業產品:Xamarin.iOS 和 Xamarin.Android。 兩者都是在 Mono 基礎上生成的,後者是基於已發佈 .NET ECMA 標準的 .NET Framework 的開源版本。 Mono 推出時間幾乎與 .NET Framework 本身一樣長,並可在幾乎每一個能想到的平臺上運行,包括 Linux、Unix、FreeBSD 和 macOS。

在 iOS 上,Xamarin 的預先 (AOT ) 編譯器將 Xamarin.iOS 應用程序直接編譯到本機 ARM 程序集代碼。 在 Android 上,Xamarin 編譯器則將應用編譯爲中間語言 (IL ),隨後啓用應用程序時,再實時 (JIT ) 編譯爲本機程序集。

兩種情況中,Xamarin 應用程序均使用自動處理事務(比如內存分配、垃圾回收和基礎平臺互操作等)的運行時。

Xamarin.iOS.dll 和 Mono.Android.dll

Xamarin 應用程序針對 .NET BCL(稱爲 Xamarin 移動配置文件)的子集生成。 此配置文件專門爲移動應用程序創建,並打包在 Xamarin.iOS.dll 和 Mono.Android.dll(分別針對 iOS 和 Android)中。 這與 Silverlight(和 Moonlight)應用程序針對 Silverlight/Moonlight .NET 配置文件生成的方式很類似。 事實上,Xamarin 移動配置文件相當於 Silverlight 4.0 配置文件以及加回其中的一系列 BCL 類。 

除了 BCL,這些 .dll 還包括幾乎整個 iOS SDK 和 Android SDK 的包裝器,允許直接從 C# 調用基礎 SDK API。

應用程序輸出

編譯 Xamarin 應用程序時,結果是應用程序包,要麼是 iOS 中的 .app 文件,要麼是 Android 中的 .apk 文件。 這些文件與使用平臺的默認 IDE 生成的應用程序包不好區別,並且這些文件均可通過完全相同的方式部署。

 

開篇之旅:

運行環境搭建:vs 20109 社區版,真機調試。

 

自此開發環境已經搭建完畢:

接下來我們運行起來的第一個demo就是:

對應的視頻教材,我們正在同步錄製之中,盡情期待...

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章