Menü
chevron_left
Blog » Effiziente Cross-Plattform-Entwicklung mit Xamarin

Cross Plattform Programmierung mit Xamarin

Xamarin Authorized Consulting Partner

xamarin authorized consulting partner

Bei zunehmender Verbreitung der verschiedenen Mobilplattformen (iOS, Android, Windows Phone) stellt sich die Frage, wie eine App mit möglichst geringem Aufwand für mehrere Systeme und Geräte entwickelt werden kann. Auch die laufende Pflege und Weiterentwicklung einer App sollte möglichst günstig sein.

Zunächst einmal bringt jeder Hersteller sein eigenes Betriebssystem und eine eigene Programmiersprache mit: Google-Geräte werden in JAVA programmiert, Apples iOS erfordert die Programmierung mittels Objective-C und Microsoft setzt traditionell auf die Entwicklung in der Programmiersprache C#. Soll nun mindestens für zwei oder sogar alle drei dieser Geräteplattformen entwickelt werden, steigt der Aufwand für den Programmierer dementsprechend: Jede einzelne Programmzeile muss zwei oder drei mal geschrieben werden!

Leicht ist vorstellbar, dass dies nicht nur zu zusätzlichem Kosten- und Zeitaufwand führt, sondern auch die Übersichtlichtkeit und Wartbarkeit des Programms erheblich erschweren kann. Erweiterungen und Fehlerkorrekturen sind vom Entwickler stets mehrfach durchzuführen.

Xamarin: plattformübergreifende Programmierung

Abhilfe schaffen kann hier eine sogenannte plattformübergreifende Entwicklung (cross platform development). Um dies zu erreichen, kann etwa versucht werden, die spezifischen Möglichkeiten jedes Mobilgerätes zu vereinheitlichen und unter eine einheitliche Programmier-Oberfläche zu stecken. Ziel ist es, mit nur einer Programmierung mehrere Geräte-Plattformen zu adressieren. Der Grundgedanke ist dabei richtig und es gibt mehrere Anbieter (etwa Titanium Appcelerator), die diesen Bedarf decken wollen. 

Aber: Der Preis dieser Abstraktion ist hoch. Native Anwendungen lassen sich so zwar schnell programmieren. Diese nutzen aber - aufgrund der erzwungenen Vereinheitlichung der unterschiedlichen Mobilgeräte - niemals das volle Potential, verglichen mit einer nativen Programmierung (also in JAVA, C# oder Objective-C). Der Endnutzer wird dies bemerken, da Oberflächen-Elemente eben doch nicht genauso so aussehen und sich nicht so "anfühlen", wie er es gewohnt ist. Das Benutzererlebnis kann darunter ganz erheblich leiden - und der Erfolg einer App ist gefährdet! Auch ist die verwendete Programmiersprache (oft Script-Sprachen wie JavaScript) aus ganz verschiedenen Gründen wenig geeignet, professionelle Software zu entwickeln.

Native Entwicklung mit Xamarin.iOS und Xamarin.Android

Eine Software-Entwicklung mit Hilfe des Software-Herstellers Xamarin geht hier einen völlig anderen Weg. Vereinfacht dargestellt wird lediglich die Programmiersprache vereinheitlicht, Xamarin nutzt die etablierte und in Microsoft-Kreisen bestens bekannte Sprache C#. Jedoch werden alle Bedien-Elemente - wie Buttons, Listen, Wischgesten usw. - vollständig beibehalten, es findet keinerlei Abstraktion statt. Die Benutzererfahrung (user experience) entspricht bei Verwendung von Xamarin.iOS / Xamarin.Android also vollständig einer echt-nativen Programmierung. Das ist besonders wichtig: der Nutzer spürt keinerlei Unterschied!   

Der Vorteil liegt auf der Hand: Durch die Verwendung der C#-Programmiersprache können Xamarin-Entwickler Apps für alle drei Plattformen (iOS, Android, Windows Phone) in einer einheitlichen Programmier-Sprache erstellen. Zudem ist C# eine sehr traditionsreiche und mächtige Programmiersprache, was sehr viele Zeitvorteile für die Programmierer mitbringt, und die weltweite Unterstützung ist sehr groß. Ein hoher Anteil der App-Entwicklung kann so für alle Plattformen wiederverwendet werden (je nach Projekt ca. 50-70%), lediglich die Benutzeroberfläche muss und sollte spezifisch angepasst werden.

Mittlerweile geht die plattformübegreifende App-Entwicklung mit Xamarin sogar noch weiter: Dank Xamarin.Forms kann unter bestimmten Umständen sogar eine 100% Wiederverwendbarkeit der erstellten Programme erreicht werden. Das ist jedoch nicht für alle Typen von Apps geeignet und sollte für jedes Projekt von Fall zu Fall geprüft werden.

Mit Xamarin.iOS / Xamarin.Android erstellte Programme (vormals monotouch bzw. monodroid) stehen nativen Anwendungen in nichts nach und können problemlos in die App Stores eingestellt werden. Wenn eine App für zwei oder mehr Plattformen entwickelt werden soll, lässt sich mit Xamarin viel Zeit und Kosten sparen. Durch den Einsatz von C# ist eine sehr effiziente Programmierung möglich. Sie profitieren von schnellen Entwicklungszeiten, geringeren Kosten und einer hohen Nutzerakzeptanz!

Als autorisierter Xamarin Consulting Partner zeigen wir Ihnen gerne die Vorteile in einem persönlichen Gespräch auf.