什麼是 Xamarin.Forms?

Screenshots of example Xamarin.Forms application in iOS and Android

Xamarin.Forms 是開放原始碼UI架構。 Xamarin.Forms 可讓開發人員從單一共享程式碼基底建置 Xamarin.Android、Xamarin.iOS 和 Windows 應用程式。

Xamarin.Forms 可讓開發人員在 XAML 中使用 C# 中的程式碼後置來建立使用者介面。 這些介面會於每個平台上轉譯為高效能的原生控制項。

Xamarin.Forms 神秘 適用於

Xamarin.Forms 適用於具有下列目標的開發人員:

  • 跨平台共用 UI 版面配置和設計。
  • 跨平台共用程式碼、測試及商務邏輯。
  • 使用 Visual Studio,在 C# 中撰寫跨平台應用程式。

運作方式Xamarin.Forms

Xamarin.Forms architecture diagram

Xamarin.Forms 提供一致的 API,可跨平臺建立 UI 元素。 此 API 可於 XAML 或 C# 中實作,並支援如 Model-View-ViewModel (MVVM) 等模式的資料繫結。

在運行時間, Xamarin.Forms 利用平台轉譯器將跨平臺 UI 元素轉換成 Xamarin.Android、Xamarin.iOS 和 UWP 上的原生控件。 這可讓開發人員取得原生外觀、風格和效能,並同時實現跨平台共用程式碼的優點。

Xamarin.Forms 應用程式通常由共用的 .NET Standard 連結庫和個別平臺專案所組成。 共用程式庫包含 XAML 或 C# 檢視,以及所有例如服務、模型或其他程式碼等商務邏輯。 平台專案則包含應用程式所需的所有平台特定邏輯或套件。

Xamarin.Forms 會使用 Xamarin 平臺,在跨平臺原生執行 .NET 應用程式。 如需 Xamarin 平臺的詳細資訊,請參閱 什麼是 Xamarin?

其他功能

Xamarin.Forms 具有大型連結庫生態系統,可新增各種功能給應用程式。 本節說明一些額外的功能。

Xamarin.Essentials

Xamarin.Essentials 是一個連結庫,提供原生裝置功能的跨平臺 API。 如同 Xamarin 本身,是一種抽象概念, Xamarin.Essentials 可簡化存取原生公用程式的程式。 提供的 Xamarin.Essentials 一些公用程式範例包括:

  • 裝置資訊
  • 檔案系統
  • 加速計
  • 電話撥號程式
  • 文字轉換語音
  • 螢幕鎖定

如需詳細資訊,請參閱Xamarin.Essentials

Shell

Xamarin.Forms 殼層藉由提供大部分應用程式所需的基本功能,以減少行動應用程式開發的複雜性。 Shell 提供的一些功能範例包括:

  • 一般導覽體驗
  • 以 URI 為基礎的導覽配置
  • 整合式搜尋處理常式

如需詳細資訊,請參閱 Xamarin.Forms 殼層

平台特定功能

Xamarin.Forms 提供可跨平台轉譯原生控件的常見 API,但特定平臺可能會有其他平臺上不存在的功能。 例如,Android 平台具有原生功能,可在 ListView 中使用快速捲動,但 iOS 中則無此功能。 Xamarin.Forms 平臺特定專案可讓您利用只能在特定平臺上使用的功能,而不需要建立自定義轉譯器或效果。

Xamarin.Forms 包含各種平臺特定功能的預先建置解決方案。 如需詳細資訊,請參閱

質感視覺效果

Xamarin.Forms 材質視覺效果可用來將材質設計規則套用至 Xamarin.Forms 應用程式。 Xamarin.Forms 材質視覺效果會利用 Visual 屬性選擇性地將自定義轉譯器套用至 UI,進而讓應用程式在 iOS 和 Android 之間具有一致的外觀和風格。

如需詳細資訊,請參閱 Xamarin.Forms 材質視覺效果