溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發(fā)布時間:2020-05-24 01:27:33 來源:網(wǎng)絡 閱讀:317 作者:誠明 欄目:移動開發(fā)

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

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

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

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

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

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

?備注

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

Xamarin 的工作原理?
Xamarin 提供兩種商業(yè)產(chǎn)品:Xamarin.iOS 和 Xamarin.Android。?兩者都是在 Mono 基礎上生成的,后者是基于已發(fā)布 .NET ECMA 標準的 .NET Framework 的開源版本。?Mono 推出時間幾乎與 .NET Framework 本身一樣長,并可在幾乎每一個能想到的平臺上運行,包括 Linux、Unix、FreeBSD 和 macOS。

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

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

Xamarin.iOS.dll 和 Mono.Android.dll
Xamarin 應用程序針對 .NET BCL(稱為 Xamarin 移動配置文件)的子集生成。?此配置文件專門為移動應用程序創(chuàng)建,并打包在 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# 調(diào)用基礎 SDK API。

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

?

開篇之旅:

運行環(huán)境搭建:vs 20109 社區(qū)版,真機調(diào)試。
Xamarin 移動端探索之旅(開篇)《一》
Xamarin 移動端探索之旅(開篇)《一》
自此開發(fā)環(huán)境已經(jīng)搭建完畢:

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

對應的視頻教材,我們正在同步錄制之中,盡情期待...
Xamarin 移動端探索之旅(開篇)《一》

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI