Was ist Xamarin.Forms?What is Xamarin.Forms?

Screenshots: Xamarin.Forms-Beispielanwendung unter iOS und AndroidScreenshots of example Xamarin.Forms application in iOS and Android

Bei Xamarin.Forms handelt es sich um ein Open-Source-Benutzeroberflächenframework.Xamarin.Forms is an open-source UI framework. Mithilfe von Xamarin.Forms können Entwickler Xamarin.iOS-, Xamarin.Android- und Windows-Anwendungen aus einer einzigen freigegebenen CodeBase erstellen.Xamarin.Forms allows developers to build Xamarin.Android, Xamarin.iOS, and Windows applications from a single shared codebase.

Xamarin.Forms ermöglicht Entwicklern die Erstellung von Benutzeroberflächen in XAML mit CodeBehind in C#. allows developers to create user interfaces in XAML with code-behind in C#. Diese Benutzeroberflächen werden als leistungsfähige native Steuerelemente für jede Plattform gerendert.These interfaces are rendered as performant native controls on each platform.

Zielgruppe von Xamarin.FormsWho Xamarin.Forms is for

Xamarin.Forms eignet sich für Entwickler mit den folgenden Zielen: is for developers with the following goals:

  • Plattformübergreifendes Freigeben von Benutzeroberflächenlayout und -designShare UI layout and design across platforms.
  • Plattformübergreifendes Freigeben von Code, Test- und GeschäftslogikShare code, test and business logic across platforms.
  • Schreiben von plattformübergreifenden Apps in C# mit Visual StudioWrite cross-platform apps in C# with Visual Studio.

Funktionsweise von Xamarin.FormsHow Xamarin.Forms works

Xamarin.Forms-ArchitekturdiagrammXamarin.Forms architecture diagram

Über Xamarin.Forms steht eine konsistente API zur Verfügung, mit der sich plattformübergreifend Benutzeroberflächenelemente erstellen lassen.Xamarin.Forms provides a consistent API for creating UI elements across platforms. Diese API kann in XAML oder in C# implementiert werden und unterstützt Datenbindung für Muster wie Model View ViewModel (MVVM).This API can be implemented in either XAML or C# and supports databinding for patterns such as Model-View-ViewModel (MVVM).

Zur Laufzeit verwendet Xamarin.Forms Plattformrenderer, um die plattformübergreifenden Benutzeroberflächenelemente in native Steuerelemente für Xamarin.Android, Xamarin.iOS und UWP zu konvertieren.At runtime, Xamarin.Forms utilizes platform renderers to convert the cross-platform UI elements into native controls on Xamarin.Android, Xamarin.iOS and UWP. So können Entwickler natives Aussehen, native Servicequalität und native Leistung erreichen und dabei von den Vorteilen der plattformübergreifenden Codefreigabe profitieren.This allows developers to get the native look, feel and performance while realizing the benefits of code sharing across platforms.

Xamarin.Forms-Anwendungen bestehen normalerweise aus einer freigegebenen .NET Standard-Bibliothek und einzelnen Plattformprojekten. applications typically consist of a shared .NET Standard library and individual platform projects. Die freigegebene Bibliothek enthält die XAML- und C#-Ansichten und sämtliche Geschäftslogik, wie Dienste, Modelle oder anderen Code.The shared library contains the XAML or C# views and any business logic such as services, models or other code. In den Plattformprojekten ist alle plattformspezifische Logik oder sind alle Pakete enthalten, die für die Anwendung erforderlich sind.The platform projects contain any platform-specific logic or packages the application requires.

Xamarin.Forms verwendet die Xamarin-Plattform, um .NET-Anwendungen plattformübergreifend nativ auszuführen. uses the Xamarin platform to run .NET applications natively across platforms. Weitere Informationen zur Xamarin-Plattform finden Sie unter Was ist Xamarin?.For more information about the Xamarin platform, see What is Xamarin?.

Zusätzliche FunktionenAdditional functionality

Xamarin.Forms verfügt über ein großes Ökosystem von Bibliotheken, die Anwendungen verschiedene Funktionen hinzufügen. has a large ecosystem of libraries that add diverse functionality to applications. In diesem Abschnitt werden einige dieser zusätzlichen Funktionen beschrieben.This section describes some of this additional functionality.

Xamarin.Essentials

Bei Xamarin.Essentials handelt es sich um eine Bibliothek, die plattformübergreifende APIs für native Gerätefeatures bietet.Xamarin.Essentials is a library that provides cross-platform APIs for native device features. Wie Xamarin selbst ist Xamarin.Essentials eine Abstraktion, die den Zugriff auf native Hilfsprogramme vereinfacht.Like Xamarin itself, Xamarin.Essentials is an abstraction that simplifies the process of accessing native utilities. Zu den von Xamarin.Essentials zur Verfügung gestellten Hilfsprogrammen gehören die folgenden:Some examples of utilities provided by Xamarin.Essentials include:

  • GeräteinformationenDevice info
  • DateisystemFile system
  • BeschleunigungsmesserAccelerometer
  • WählhilfePhone dialer
  • Text-zu-SpracheText-to-speech
  • BildschirmsperreScreen lock

Weitere Informationen finden Sie unter Xamarin.Essentials.For more information, see Xamarin.Essentials.

ShellShell

Die Xamarin.Forms-Shell reduziert die Komplexität der Entwicklung mobiler Anwendungen, indem die grundlegenden Features bereitgestellt werden, die von den meisten Anwendungen benötigt werden.Xamarin.Forms Shell reduces the complexity of mobile application development by providing the fundamental features that most applications require. Zu den von der Shell zur Verfügung gestellten Features gehören die folgenden:Some examples of features provided by Shell include:

  • Allgemeine NavigationsoberflächeCommon navigation experience
  • URI-basiertes NavigationsschemaURI-based navigation scheme
  • Ein integrierter SuchhandlerIntegrated search handler

Weitere Informationen finden Sie unter Xamarin.Forms-Shell.For more information, see Xamarin.Forms Shell

PlattformeigenschaftenPlatform-specifics

Xamarin.Forms stellt eine allgemeine API zur Verfügung, die native Steuerelemente plattformübergreifend rendert. Bestimmte Plattformen können jedoch über Funktionen verfügen, die andere Plattformen nicht bieten. provides a common API that renders native controls across platforms, but a specific platform may have functionality that doesn't exist on other platforms. Die Android-Plattform bietet beispielsweise native Funktionen für schnelles Scrollen in der Klasse ListView. Unter iOS ist dies jedoch nicht möglich.For example, the Android platform has native functionality for Fast Scrolling in a ListView but iOS does not. Dank der für Xamarin.Forms plattformspezifischen Eigenschaften können Sie Funktionen verwenden, die nur auf einer bestimmten Plattform zur Verfügung stehen, ohne benutzerdefinierte Renderer oder Effekte erstellen zu müssen.Xamarin.Forms platform-specifics allow you to utilize functionality that is only available on a specific platform without creating custom renderers or effects.

Xamarin.Forms beinhaltet vorgefertigte Lösungen für die unterschiedlichsten plattformspezifischen Funktionen. includes pre-built solutions for a variety of platform-specific functionality. Weitere Informationen finden Sie unter:For more information, see:

Visuelles MaterialobjektMaterial Visual

Xamarin.Forms Material Visual wird verwendet, um Material Design-Regeln auf Xamarin.Forms-Anwendungen anzuwenden. Material Visual is used to apply Material Design rules to Xamarin.Forms applications. Xamarin.Forms Material Visual verwendet die Visual-Eigenschaft, um selektiv benutzerdefinierte Renderer auf die Benutzeroberfläche anzuwenden. Das Ergebnis ist ein konsistentes Erscheinungsbild der Anwendung unter iOS und Android. Material Visual utilizes the Visual property to selectively apply custom renderers to the UI, resulting in an application with a consistent look and feel across iOS and Android.

Weitere Informationen finden Sie unter Xamarin.Forms Material Visual.For more information, see Xamarin.Forms Material Visual