Einführung: Xamarin.Forms

Für das plattformübergreifende Entwickeln von mobilen Applikationen gibt es die verschiedensten Tools, die einem bei dieser Arbeit unterstützen können. Eines davon ist Xamarin, welches einem ein Cross-Plattform Toolkit für das Entwickeln von Android, Windows Phone und iOS Applikationen zur Verfügung stellt. In diesem Blogartikel werden wir uns ein wenig mit Xamarin.Forms beschäftigen.

Mithilfe von Xamarin.Forms kann das gesamte Layout der Applikation entweder in XAML (Extensible Application Markup Language) oder im C# Quellcode definiert werden, was eine sehr schnelle und einfache Entwicklung ermöglicht. Somit gehört das Entwickeln von mehreren User Interfaces für die einzelnen Zielplattformen der Vergangenheit an, da dieser Entwicklungsschritt mit Xamarin.Forms abstrahiert wird: Ein Xamarin.Forms.Button wird in das jeweilige UI Element der Zielplattform umgewandelt. Folglich ist ein weiter Vorteil von Xamarin.Forms die Tatsache, dass die hierbei entstehenden Applikationen nativ auf den Geräten laufen und somit die Nutzung der plattformspezifischen APIs möglich ist. Die Nutzung von Designpatterns wie zum Beispiel MVVM wird durch diesen Aufbau ebenfalls ermöglicht.

Nach der Wahl eines Xamarin.Forms Templates in Visual Studio werden mehrere Projekte in einer Solution erstellt. Für jede einzelne Plattform wird ein eigenes Projekt erstellt, welches dann Xamarin.Forms Framework initialisiert.

Der plattformspezifische Code für diesen Prozess schaut für jedes mobile Betriebssystem selbstverständlich anders aus. Um die Wiederverwendbarkeit des Startup–Codes zu optimieren, wird in einer portablen Klassenbibliothek die Klasse App erstellt, welche für das Initialisieren der ersten Seite zuständig ist. Beim Erstellen der Solution wird hierfür bereits ein Beispielcode eingefügt:

In dieser Klasse wird im Konstruktor eine neue ContentPage angelegt, welche dann nach dem Start der Applikation auf dem Endgerät angezeigt wird. Man könnte jetzt beispielsweise mit dieser automatisch generierten Seite weiterarbeiten und das gesamte UI in C# definieren oder alternativ eine neue Seite einfügen, die in XAML definiert ist.

Hierfür müssen wir zunächst in unserem XForms (Portable) – Projekt eine neue XAML – Seite einfügen:

In dieser XAML – Datei können wir nun unsere neue Startseite für dieses Xamarin.Forms Projekt erstellen. Hierfür werden wir ein Eingabefeld und einen Button benötigen. Unsere kleine Beispielanwendung wird den Inhalt des Eingabefeldes bei einem Klick auf den Button in einem Meldungsfenster ausgeben. Wer bereits Erfahrungen mit UWP oder WPF gemacht hat, wird sich an folgender Stelle sicherlich recht schnell zurechtfinden:

Für unser Layout benötigen wir einen Container, der unsere Steuerelemente für uns automatisch ausrichtet. Hierbei eignet sich das StackLayout, welches all unsere Steuerelemente übereinander stapelt. Für die Darstellung eines Beschriftungstextes verwenden wir ein Label-Steuerelement, für ein einfaches Eingabefeld ein Entry-Steuerelement und für den Button ein Button-Steuerelement.

In der Code-Behind-Datei definieren wir nun die Funktionalität unseres kleinen Beispiels. Wir wollen ein Meldungsfenster auf allen Geräten anzuzeigen und den Inhalt des Eingabefeldes wiedergeben. Hierfür wird die Methode DisplayAlert genutzt.

Damit unsere neue Startseite letztendlich auch angezeigt wird, müssen wir den Code in der App.cs – Datei der XForms-Library ein wenig anpassen. Hierbei müssen wir der MainPage nur eine Instanz unserer neuen Startseite übergeben:

Unser Projekt ist nun fertig. Die UWP und Android – Varianten sehen beispielsweise folgendermaßen aus:  

       

Wer mehr über die vielen Möglichkeiten von Xamarin und Xamarin.Forms erfahren möchte, kann auch einen passenden Kurs dazu besuchen.

Kommentare sind geschlossen