Serie Technologie: Xamarin

23 Juni 2016,   By ,   0 Comments

Was ist Xamarin

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 soll und aus Usability- und/oder Performance-Gründen nativ umgesetzt werden soll, hat dies bei klassischer 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 das 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

  1. Effiziente Entwicklung von Crossplattform Apps
  2. Businesslogik kann komplett als Shared-Code ausgelegt werden
  3. Gute Unterstützung für Visual Studio
  4. Aktuell schnellste Cross-Plattform Lösung

Argumente gegen Xamarin

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

Fazit zum Einsatz von Xamarin für mobile Applikationen

Für die meisten Apps, welche 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 Plattformindividuell erstellt werden muss. Xamarin Forms bietet nur für Apps die aus den Standardelementen der jeweiligen Plattform besteht 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.
Wer sich für Xamarin interessiert kann sich hier das SDK herunterladen

    Leave a Reply







    Bleiben Sie auf dem Laufenden