Apps entwickeln? Xamarin!

Das Gerüst

Eine .NET-Standard-Klassenbibliothek stellt den gemeinsamen Code bereit, der von allen Plattformen geteilt wird. Für jede Plattform existiert dann neben der Klassenbibliothek ein Projekt in der Solution.
Um die Webanwendung anzusprechen, wird ein weiteres C#-Projekt eingebunden, das die Kommunikation mit dem REST API des Servers übernimmt (Bild 2).
Die Struktur der Solution (Bild 2)
Nun kommt Xamarin.Forms ins Spiel, das UI-Framework zur eigentlichen plattformübergreifenden Entwicklung, mit dem nahezu 100 Prozent Code-Reuse möglich sind [3]. Es stellt Steuerungselemente und Mechanismen zur Verfügung, um die gemeinsame Benutzeroberfläche für die verschiedenen Zielplattformen zu erstellen. Verfügbar ist es als NuGet-Paket, das häufig aktualisiert wird und von dem auch Vorveröffentlichungen bereitgestellt werden, um Bugfixes schnell verfügbar zu machen. Neben normalen NuGet-Paketen für alle .NET-Projekte gibt es auch speziell für Xamarin entwickelte Bibliotheken, Steuerungselemente und Android-Support-Bibliotheken.
Beim Erstellen des jeweiligen Projekts ist die Plattform auszuwählen, für welche die App erstellt werden soll. Für An­droid ist es ein Application Package Kit (Dateierweiterung
.apk), für Windows eine ausführbare Datei (.exe) und für Apples Mobilbetriebssystem ein iOSApp Store Package (.ipa).
Da Xcode beziehungsweise der Apple Compiler nicht für Windows verfügbar ist, kann man die iOS-App nicht auf einem Windows-Computer erstellen. Um iOS-Apps mit Xamarin zu erstellen, benötigt man einen Mac, auf dem Visual Studio für Mac und Xcode installiert sind. Entweder man entwickelt direkt auf dem Mac, oder man benutzt ihn als „Agent“ von einem Windows-Computer aus. Dazu verwendet man einfach die Adresse des Macs und gibt Benutzername und Passwort ein (Bild 3).
Herstellen der Verbindung mit einem Mac (Bild 3)
Der Quellcode wird dann zum Mac übertragen, dort kompiliert und auf dem angeschlossenen Gerät installiert. Ausserdem kann die Ausgabe von iOS-Simulatoren, die auf dem Mac laufen, an den Windows-PC übertragen werden.

Joshua Rutschmann
Autor(in) Joshua Rutschmann




Das könnte Sie auch interessieren