Cross-Plattform-Apps mit Xamarin.Forms entwickeln
In dieser Buch Rezension nehme ich mir das Fachbuch Cross-Plattform-Apps mit Xamarin.Forms entwickeln vor. Ich sehe mir an für welche Zielgruppe das Buch interessant ist und ob es trotz neuem MAUI Framework noch zu empfehlen ist.
Cross-Plattform-Apps mit Xamarin.Forms entwickeln
Dieses Xamarins Fachbuch ist im Hanser Verlag erschienen. Der Autor André Krämer bringt dem Leser auf 350 Seiten die Plattform übergreifende Entwicklung von mobilen Apps mit dem Xamarin Forms Framework bei. Der Käufer des Buchs bekommt neben dem Taschenbuch auch noch das E-Book um ebenfalls direkt auf dem Computer oder E-Reader zu lesen. Das Buch findet man im Onlineshop von Hanser.
Inhalt
Das Buch ist in 16 Kapitel eingeteilt in denen man die Theorie in praktischen Beispielen an eigenen Projekten umsetzt. Die Kapitel:
- Einführung
Eine Übersicht über Xamarins mit einigen schönen Grafiken. Im Buch sind diese zwar nur schwarz/weiß, im zusätzlich erhältlichen PDF aber in Farbe! - Schnelleinstieg: Ihre erste App mit Xamarin.Forms in einer Stunde
Das obligatorisch Hello World entfällt in dem Buch komplett, stattdessen wird eine sinnvolle kleine App, ein Restschuldrechner für ein Annuitätendarlehen erstellt. - Überblick über Android und Xamarin.Android
Ein Überblick über die Entwicklung von Android Apps und wie das Framework mit dem Betriebssystem interagiert. - Überblick über iOS und Xamarin.iOS
Ein Überblick über die Entwicklung von iOS Apps und wie das Framework mit dem Betriebssystem interagiert. - Überblick über Xamarin.Forms
Ein knapper Überblick über die unterschiedlichen Bereiche des Xamarin Forms Frameworks und wie ein solches Projekt unter Visual Studio aufgebaut ist. - Architektur von Cross-Plattform-Apps
In dem Kapitel lernt man wie man mit .NET und C# eine App entwickelt die sowohl auf Android als auch iOS lauffähig ist. Wie schreibt man Code im .NET Standard und wie werden Betriebssystem spezifische Elemente aufgerufen. Der Entwickler lernt die Vorteile von Dependency Injection kennen. - Oberflächendesign mit Layoutcontainern
Man lernt mit den unterschiedlichen Layout Containern Oberflächen zu bauen. - Eingabeformulare anlegen
Neben dem Darstellen von Information ist die Eingabe der zweite Baustein jeder App. In diesem Kapitel lernt man Steuerelemente für die Eingabe kennen und nutzen. Außerdem wird das MVVM Design Pattern von Xamarin erklärt. - Navigation und die Xamarin.Forms Shell
Die einzelnen Views einer App werden in diesem Kapitel mit Navigationselementen verbunden damit man navigieren kann. - Listen
Alle möglichen Listen Steuerelemente und wie man einzelne Elemente selektiert und im Code weiter verarbeitet. - Bilder, Icons und Schriftarten
Anhand einer Speisekarten App lernt man wie man die Informationen mit Bilder, Icons und anderen Schriftarten besonders schön darstellt. - Styles und Themes in Xamarin.Forms
Eine weitere Stufe bei der visuallen Gestaltung sind Styles und Themes (beispielsweise Dark-Mode). - Aufruf von Webservices
So gut wie jede App bezieht Daten von einem Server. Deshalb lernt man wie man ein REST-Webservice implementiert und von dort Daten holt und über die Schnittstelle verändert. - Lokale Datenhaltung
Neben dem Datenaustausch mit Servern lassen sich Daten auch lokal Speichern. Man lernt Dateien auf dem Speicher des Geräts zu schreiben und lesen oder komplexere Daten in einer Datenbank abzulegen. - Zugriff auf native Gerätefunktionen und Xamarin.Essentials
Das Buch endet mit einer Übersicht der Essentials Bibliothek. Über diese lassen sich Funktionen des mobilen Endgeräts nutzen (beispielsweise Sensoren, Standort, usw…)
Persönliche Meinung
Das MAUI-Framework, also der direkte Nachfolger von Xamarin, steht bereits am Start. Deshalb ist die interessante Frage: lohnt sich das Buch überhaupt noch? Kurze Antwort: Ja. Zum einen gibt es derzeit noch keine MAUI Bücher, zum anderen lernt man nicht nur Xamarin Forms sondern auch Konzepte (wie beispielsweise data binding) und die Besonderheiten, auf die man bei einer geteilten Codebasis für iOS und Android Apps achten muss (sprich if/else Abfragen für die Plattform). Zusätzlich lernt man auch das Screen Design mit XAML kennen, auch das wird unter MAUI noch verwendet. Zuletzt ist noch C# mit dem .NET Framework als Technologie erwähnenswert.
Zum Buch selbst. Der Autor macht gleich in den ersten Kapiteln klar, das Buch ist einzig uns allein da um Xamarin Forms zu lernen. Xamarin selber ist viel mehr, weshalb für Apps die Hardware des mobilen Geräts Nutzen noch weitere Bibliotheken notwendig sein werden. Für spezialisierte Aufgaben muss man sich mit Android und/oder mit iOS beschäftigen und deren nativen Entwicklungswerkzeuge und Sprachen. Man lernt so gut wie alles wissenswerte zu Xamarin Forms kennen. Hat man das Buch durchgearbeitet lassen sich Client Applikationen mit umfangreichen Oberflächen erstellen, die ein Webservice implementieren. Für Spiele oder multimediale Apps sind weitere Bücher und Tutorials nötig. Mir gefällt der praktische Ansatz, besonders das zweite Kapitel. In einer Stunde hat der leser eine sinnvolle erste App zusammengebaut und erkennt, wie viel Arbeit das Framework abnimmt und wo dessen Stärken liegen.
Fazit
Das Buch lohnt sich um mit der Entwicklung von Apps mit Microsoft Technologien zu starten. Xamarin wird demnächst obsolet, trotzdem gibt es noch zahlreiche Anwendungen die weiter supported werden wollen. MAUI unterscheidet sich nich so drastisch, dass man als Anfänger keinen Nutzen aus dem Buch ziehen würde.