Xamarin.Forms – Getting Started
Apps entwickeln für Android, iOs und Windows wird endlich einfacher. Mit dem Cross-Plattform-Tool Xamarin werden Apps mit einer gemeinsamen C#-Codebasis erstellt, welche für die wichtigsten Plattformen bereitgestellt werden können.
Die Erweiterung Xamarin.Forms erlaubt es nun auch noch, die Nutzerschnittstelle einheitlich zu gestalten. Die Bibliothek sorgt dafür, dass Oberflächenelemente auf den entsprechenden Plattformen in native Controls übersetzt werden. Um dabei nicht an Flexibilität zu verlieren, erlauben sogenannte Custom-Renderer benutzerdefinierte Änderungen und Erweiterungen von Standard-Controls.
Doch auch Xamarin kommt mit einer gewissen Einstiegshürde. Neben etwas Erfahrung mit C# und am besten auch mit WPF und dem MVVM– Entwurfsmuster, muss auch der Umgang mit Xamarin erst erlernt werden. So kann vor allem das initiale Setup frustrierend sein.
Installation
Ist das Visual Studio (2013 Community Edition oder neuer) mitsamt Xamarin installiert, so gilt es erst einmal Xamarin auf die neueste Version zu updaten. Visual Studio hält dazu im Optionsmenü extra einen neuen Reiter „Xamarin“ bereit, der das Update zum Kinderspiel macht (Administratorrechte vorausgesetzt). Beim Anlegen eines Projekts erschwert die Vielzahl von Templates die Auswahl.
Für die meisten Anwendungen sollte wohl der Projekttyp „Xamarin.Forms Portable“ unter dem Reiter „Cross-Platform“ die erste Wahl sein. Da die Xamarin.Forms Version aus dem Template wahrscheinlich nicht mehr mit der aktuellen Xamarin Version kompatibel ist, gilt es als nächstes die NuGet-Pakete für alle benötigten Plattformen auf den neuesten stabilen Stand zu bringen.
Plattformen
Im nächsten Schritt sollte man prüfen, ob damit das vorgegebene HelloWorld-Beispiel lauffähig ist. Dafür muss eine der drei Plattformen als Startprojekt gewählt werden:
Android:
Der wohl einfachste Weg unter Windows 7 ist dabei ein über USB angebundenes Android-Gerät, mit aktiviertem Entwicklermodus. Deutlich schneller geht die Entwicklung mit dem Visual Studio Emulator for Android von der Hand. Allerdings nur für Nutzer von Windows 10 (bzw. 8.1) und einer CPU mit Hyper-V Unterstützung.
UWP:
Apps für die Universal Windows Platform (UWP) können nur mit Windows 10 erstellt werden und sind auf allen modernen Geräten der Windows-Plattform lauffähig. Ein Stolperstein hier ist womöglich das fehlende „Microsoft.Netcore.UniversalWindowsPlatform“ Nuget-Paket.
iOS:
Die Entwicklung für iOS unter Windows funktionier ausschließlich mit einem angeschlossenen Mac. Der Buildprozess wird auf dem Apple-Gerät ausgeführt und das Ergebnis kann dort in einer Vielzahl von iOS-Simulatoren angezeigt werden.
Erweiterungen
Ist der Einstieg erst mal geschafft, warten noch jede Menge weitere Herausforderungen auf den App-Entwickler. Denn die Verwendung der Kamera, des GPS-Sensors oder die Abfrage der aktuellen Datenverbindung erfordert nach wie vor plattformspezifische Lösungen. Unzählige Plugins – allen voran die Pluginsammlung „Xamarin.Plugins“ von James Montemagno – vereinheitlichen mittlerweile auch den Zugriff auf die Smartphone-Hardware über alle Plattformen hinweg.
Innerhalb von einem Jahr hat queoflow sich ein solides Know-How im Bereich Cross-Platform-Development mit Xamarin erarbeitet. Neben einigen Kundenprojekten die bereits mit Xamarin umgesetzt wurden, soll 2017 die Barbuda-App für Android, iOS und die Windows Plattform an den Start gehen. Gerne entwickeln wir auch für Sie eine App um den ganzen Markt zu erreichen.