Buchbesprechung: Cross-Plattform-Apps mit Xamarin.Forms entwickeln

André Krämer demonstriert das Entwickeln einer mobilen Applikation mit Xamarin.Forms und bietet Übungen zum Nachprogrammieren.

Lesezeit: 5 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen

(Bild: Andrey Suslov/Shutterstock.com)

Von
  • Tam Hanna

André Krämer
Cross-Plattform-Apps mit Xamarin.Forms entwickeln
Mit C# für Android und iOS programmieren. Inkl. E-Book
Carl Hanser Verlag 2021
384 Seiten, 36,99 Euro (Print), inkl. E-Book
ISBN: 978-3-446-45155-1

Microsofts .NET-Umgebung kann im Mobilbereich auf eine reichhaltige Geschichte zurückblicken: War das Produkt einst unter Windows Phone und Co. nativ, so ist es seit dem Erfolg von Android und iOS wieder – ganz wie unter Windows Mobile – System zweiter Klasse.

In der von Dr. Holger Schwichtenberg (Der Dotnet-Doktor) betreuten .NET-Bibliothek bietet der Carl Hanser Verlag ein neues Lehrbuch an, das auf die Nutzung von Xamarin in der Variante Xamarin.Forms eingeht. Diese auf den ersten Blick textuell klingende Spitzfindigkeit ist in der Praxis von Bedeutung: Xamarin nimmt im Bereich der Cross-Plattform-Frameworks nämlich eine Sonderrolle ein, da die Möglichkeit zum Erzeugen "geteilter" Benutzerschnittstellen ein vergleichsweise neues Feature des Produkts darstellt.

Cross-Plattform-Apps mit Xamarin.Forms entwickeln

(Bild: hanser.de )

Andre Krämer beginnt seine Überlegungen mit einem Rückblick auf die Historie der Entwicklung von Xamarin und demonstriert, wie Mono und der Rest der Bibliotheken in Android und iOS eingebunden sind. Als sanfter Einstieg in die Praxis folgt im zweiten Kapitel die Erzeugung einer kleinen Xamarin-Applikation. Schon in diesem Bereich ist ersichtlich, dass sich das Werk nicht auf das Vermitteln der Programmierung in Xamarin beschränken möchte. Der Autor geht vielmehr auch auf "Grundlagen des Mobile Computing" ein. Neben Erklärungen dazu, wie Benutzer mobile Applikationen verwenden, findet sich hier auch eine Erklärung des Prototyping-Prozesses: Selbst Jahre nach dem Erscheinen des ersten Palm-PDA gilt, dass nach wie vor nicht jede Entwicklerin beziehungsweise jeder Entwickler bereit ist, für das GUI-Design auf einen Block kariertes Papier zurückzugreifen.

Quereinsteiger könnten sich wundern, dass ein Buch zur Cross-Plattform-Programmierung Abschnitte mit Betriebssystem-spezifischen Informationen enthält. Die praktische Erfahrung des seit vielen Jahren mit verschiedenen Cross-Plattform-Systemen arbeitenden Rezensenten lehrt jedoch, dass ein solides Verständnis der zugrundeliegenden Plattform immer zu einem besseren Grip der Cross-Plattform-Umgebung führt. Krämer begegnet diesem Thema mit detaillierten Überlegungen zu Android und iOS. Besonders lobenswert ist hervorzuheben, dass sich der Abschnitt zu iOS nicht auf die lapidare Empfehlung beschränkt, einen Mac zu kaufen, sondern dass das Werk zeigt, wie sich Windows-Workstations per Remote Compiler mit einem als Kompilationsgerät dienenden Apple-System verbinden lassen.

Als Nächstes beginnt die eigentliche Erzeugung der Applikation. Neben Überlegungen zum Aufbau der Benutzeroberfläche finden sich hier Hinweise, wie sich vorhandener .NET-Code durch freigegebene Projekte oder Klassenbibliotheken in die neue mobile Anwendung überführen lässt. Krämer orientiert sich konstant an den Bedürfnissen der aufkommenden Version .NET Multi-platform App UI (MAUI). Ältere Designparadigmata erwähnt der Text nur kurz für den Fall einer Konfrontation mit Legacy-Code. Die eigentliche Erzeugung der Layouts ist dann wie zu erwarten mustergültig. Neben der für die Navigation verantwortlichen Shell findet sich auch eine detaillierte Besprechung der einzelnen Steuerelemente.

Als Demobeispiel nutzt Krämer eine digitale Speisekarte für ein Restaurant. Das ist didaktisch günstig, weil der Stand am Ende jedes Kapitels in Form eines separaten Archivs vorliegt. Möchten Leser beispielsweise nur die Übungen zum zehnten Kapitel ausführen, so finden sie ein Projektskelett, das sie am Beginn des relevanten Abschnitts absetzt und das Durchprogrammieren ermöglicht. Krämer zeigt dabei keine Angst vor Tiefgang und Detail. Die immer haarigen Listen, die Nutzung von Bildern und Schriftarten sowie die Erzeugung von Stilen und Themes zur Anpassung des Aussehens der Applikation bespricht das Werk detailliert, ohne mit unnötigen Informationen zu überfrachten.

Das gilt auch für die letzte Kapitelgruppe, die sich mit Aufgaben zur Geschäftslogik auseinandersetzt. Neben dem Zugriff auf REST-artige APIs erklärt der Autor die Arbeit mit dem lokalen Dateisystem sowie kurz die Nutzung nativer Gerätefunktionen über den ebenfalls vergleichsweise neuen Microsoft-Wrapper Xamarin.Essentials. Insbesondere im Bereich der Arbeit mit dem Dateisystem zeigt sich, dass der Autor des Werks praktische Erfahrung mitbringt. Er erklärt einerseits den nativen Aufbau der Dateisysteme der Zielsysteme, zeigt aber auch, wie sich die notwendigen Pfade unter Nutzung der diversen in Xamarin enthaltenen Hilfswerkzeuge dynamisch generieren lassen.

Schon aufgrund der durchdachten, aber vielschichtigen Entwicklung von Xamarin gilt, dass nicht alle Xamarin-Lehrbücher gleich sind. Ist das Verwenden von Xamarin unter Nutzung des Cross-Plattform-GUI-Stacks Xamarin.Forms geplant, so empfiehlt sich der Erwerb des vorliegenden Buchs. .NET-erfahrene Entwickler bekommen nebenbei auch Informationen darüber, was eine gute mobile Applikation am Ende ausmacht. Wer von einem anderen GUI-Stack umsteigt, kann sich ebenfalls schnell einarbeiten – unterm Strich ein Werk, dessen Erwerb sich (fast) immer lohnt.

Tam Hanna
befasst sich seit dem Jahr 2004 mit Handcomputern und Elektronik. Derzeit liegt sein Fokus auf interdisziplinären Anwendungen von Informationstechnologie.

(mai)