Xamarin ist eine Laufzeitumgebung, welche es ermöglicht, C#-Code für native Apps unter iOS, Android und Windows einzusetzen. Mittlerweile wurde die Firma hinter Xamarin von Microsoft aufgekauft, was eine noch bessere Integration von Xamarin in Visual Studio erwarten lässt und die langfristige Weiterentwicklung sicherstellen sollte.

Warum ist der Einsatz von Xamarin sinnvoll?

Wenn eine App auf mehreren Betriebssystemen genutzt werden und aus Usability- und/oder Performance-Gründen nativ umgesetzt werden soll, hat dies bei klassisch-nativer Umsetzung in Objective‑C für iOS, Java für Android und C# für Windows einen sehr großen Umsetzungsaufwand zur Folge. Kenntnisse über die verschiedenen Programmiersprachen, Entwicklungstools und Betriebssysteme sind selten in einer einzelnen Person vereint und so müssen Experten für die unterschiedlichen Plattformen jeweils die Businesslogik, das Interface und die Connectivitätsschicht für jede Plattform implementieren. Diese Form der Cross-Plattform-Entwicklung ist relativ kostenintensiv und kompliziert, da die Problemstellungen für die einzelnen Plattformen sehr unterschiedlich sein können.

Einen anderen Ansatz verfolg hier Xamarin: Bestehend aus Entwicklungstools und einem Framework werden die nativen APIs von Android und iOS zu fast 100 % als NET APIs zur Verfügung gestellt. Die Entwicklung der nativen Apps für alle 3 Plattformen erfolgt somit in Visual Studio (bzw. Xamarin Studio) und C#, was es ermöglicht, viele Codebestandteile für alle Plattformen zu nutzen und damit die aufwändige und fehleranfällige Neuimplementierung für jede Plattform zu umgehen. Wichtig ist hierbei, dass individuelle UI-Elemente und Auflösungen weiterhin für jede Plattform erstellt werden können – dies erhöht zwar den Aufwand, sorgt aber für eine native und plattformgerechte Usability für die App. Als Alternative kann Xamarin Forms eingesetzt werden.

Argumente für Xamarin

  • Effiziente Entwicklung von Cross-Platform-Apps
  • Businesslogik kann komplett als Shared-Code ausgelegt werden
  • Gute Unterstützung für Visual Studio
  • Aktuell schnellste Cross-Platform-Lösung

Argumente gegen Xamarin

  • Abhängigkeit von Xamarin bei Neuerungen der APIs und Sicherheitslücken
  • Keine 100%ige Kontrolle über den nativen Code. Dies kann in bestimmten Fällen etwas Performance kosten
  • Aufgrund der Zusatzschicht durch die Laufzeitumgebung bei extrem Performance-abhängigen Tasks langsamer als eine native Implementierung

Zusammenfassung: Nutzung von Xamarin für Mobile Apps

Für die meisten Apps, die auf mehreren Plattformen lauffähig sein sollen, bietet Xamarin die richtige Plattform. Eher ungeeignet ist Xamarin bei Apps, bei denen über 80 % der Entwicklungsaufwände für das User Interface benötigt werden, da das User Interface meist auch in Xamarin Plattform-individuell erstellt werden muss. Xamarin Forms bietet nur für Apps, die aus den Standardelementen der jeweiligen Plattform bestehen, eine gute Lösung.

Wir entwickeln mittlerweile einen Großteil der Apps für mehrere Plattformen mit Xamarin, da dies in 90 % der durch uns entwickelten Apps von Vorteil ist und für unsere Kunden meist massive Einsparungen an Entwicklungszeit und Budget bedeutet.

Nehmen sie gern Kontakt auf

Telefon: +49 511 169 299–0
E‑Mail: info@thisisdmg.com