Home » Picture Gallery » Ist Xamarin die richtige Wahl für mein Unternehmen?
Ihren XING-Kontakten zeigen

Ist Xamarin die richtige Wahl für mein Unternehmen?

Die Herausforderung
In den letzten Jahren war für unseren Alltag die Verbreitung von Smartphones und Tablets das beherrschende Thema; nicht nur in den Medien, sondern auch in den Führungsetagen kleinerer und größerer Unternehmen: Welche Device-Strategie wird etabliert, d.h. werden MitarbeiterInnen vom Unternehmen ausgestattet oder können sie ihr eigenes Gerät mitbringen (BYOD), benötigt es eine Mobile Device Management (MDM) Lösung, was sind rechtliche, aber auch sicherheitsrelevante Implikationen und welche Applikationen oder Services werden überhaupt mobil zur Verfügung gestellt? Dies sind nur einige der Fragen, die sich auf die Agenda von IT-Entscheidern gedrängt haben und für die in der Vergangenheit wohl auch schon erste Antworten gefunden wurden.

Oft wird übersehen, dass der Erfolg mobiler Geräte nicht ausschließlich an den Geräten selbst liegt, sondern auch an den verbesserten Kommunikations-Netzen, die es überhaupt erst ermöglichten, dass wir immer und überall vernetzt sind: So hat sich LTE mittlerweile als mobiles Breitband-Internet etabliert, mobiles Datenguthaben, auch für Unternehmen, sind erschwinglich geworden und zu guter Letzt etabliert sich gerade mit 802.11ac eine neue, intelligente WLAN-Technologie, die nicht nur die Datenrate weiter erhöht, sondern auch eine clevere Antwort für Stabilitäts- und Empfangs-Probleme bietet.

So wundert es auch nicht, dass mit Industrie 4.0, IoT, BigData, usw. die nächsten Schlagworte angekommen sind, die von weiterer Vernetzung, Automatisierung und intelligenten Systemen handeln. IT-Entscheider wissen heute zwar, dass es hier ein Potenzial gibt, nicht nur interne Prozesse weiter zu vereinfachen, sondern auch, dass diese neuen Technologien Innovations-Treiber im Unternehmen sein können. Andererseits gibt es aber keine Komplett-Lösungen von der Stange, oft wenig Erfahrungen im eigenen Unternehmen oder in der Branche und vor allem: viel Veränderung, wenig Beständiges.

Stichwort: Beständigkeit. Ein Name fällt immer wieder, wenn über mobile Lösungen diskutiert wird: Xamarin. Als eine der ganz wenigen am Markt, hat es diese Technologie geschafft, sich als stabile Plattform für Cross-Plattform-Entwicklung zu etablieren. Grund genug für uns, heute einen näheren Blick auf Xamarin zu werfen und Ihnen einen Leitfaden zu geben, den Einsatz dieser Technologie für Ihr Unternehmen zu bewerten.

Die Begriffe
First things first. Was steckt hinter dem Begriff Xamarin?
Xamarin ist der Name eines 2011 gegründeten Unternehmens, das sich zum Ziel setzte, mobile Applikationen für iOS, Android und Windows Phone einheitlich zu entwickeln. Als Produkte werden neben der Kern-Plattform (Xamarin Platform) auch Analytics (Insights), sowie eine Cloud basierende Test-Lösung (Test Cloud) und eine Schulungs-Plattform (University) angeboten.

Die Technologie
Cross-Plattform-Entwicklung bezeichnet letztendlich das Entwickeln von Applikationen in einer einheitlichen Programmier-Sprache. Im Falle von Xamarin ist das C# von Microsoft.

Grundsätzlich gibt es zwei Ansätze für Cross-Plattform-Entwicklung:
Eine Möglichkeit besteht darin, den Source Code einer Applikation direkt in nativen Code zu übersetzen. Dies entspricht der Vorgehensweise wie Apps in der Regel erstellt werden, aber eben mit der selben Programmiersprache für alle Plattformen. Xamarin geht diesen Weg und übersetzt den C# Code in nativen Code. Die ausführbare App verhält sich somit exakt wie eine native App (in der Optik, sowie in der Performance).

Die zweite Möglichkeit wird von diversen Web-Frameworks wie zum Beispiel Cordova (auch als Phonegap beakannt) verwendet: Hierbei besteht die App nur aus einem Container, der den einheitlichen Programmcode (Javascript in diesem Fall) zur Laufzeit der App ausführt. Im Falle von Cordova besteht die App zum Beispiel aus einem Web-Browser, der letztendliche ein Website (die die App darstellt) anzeigt. Die Besonderheit: der Webseite stehen in diesem speziellen Browser mehr Funktionen zur Verfügung (z.B. Zugriff auf die Kamera des Telefons) als unter einem herkömmlichen Browser.

Die Vor- und Nachteile
Container-Lösungen haben den Vorteil, dass der Entwickler keine speziellen Plattform-Kenntnisse haben muss, sondern einheitliche Funktionen („öffne Kamera“) ansteuern kann. Reichen diese Funktionen aber nicht aus, so muss der Container nativ, d.h. in der jeweiligen Programmier-Sprache der Plattform, erweitert werden. Im Fall von Cordova bedeutet das: Neben der Sprache Javascript für die Haupt-Anwendung muss eine Erweiterung in Swift (iOS), Java (Android) und C# (Windows Phone) entwickelt werden. Selbst wenn man als Unternehmen für alle diese Sprachen Entwickler hat, ist dies immer noch aufwändig und fehleranfällig. Der zweite große Nachteil von Container-Lösungen: Da der Programmcode zur Laufzeit übersetzt wird, entstehen massive Performance-Einbußen, die speziell die Optik (Animationen), sowie die Haptik (Reaktionsfähigkeit) betreffen.

Xamarin wiederum hat genau hier den großen Vorteil: Aufgrund des nativen Resultats der Entwicklung entstehen kaum Performance-Einbußen. Der Preis dafür ist, dass sämtliche Plattform-Funktionen nativ angesprochen werden müssen. So wird zwar in einer Programmiersprache entwickelt, aber eben einmal pro Plattform, d.h. „öffne Kamera“ muss einmal für iOS, Android und Windows Phone entwickelt werden. Das impliziert auch, dass die Entwickler sich entsprechend detailliert mit der Plattform auskennen müssen.

Xamarin – Für mich geeignet oder nicht?
Nachdem wir die Begriffe, die Technologien und die Vor- und Nachteile nun kennengelernt haben, können wir uns mit der Frage beschäftigen, wann Xamarin der richtige Weg für ein Unternehmen ist.

Am Anfang steht die Frage, wofür Apps von einem Unternehmen eingesetzt werden und wie hoch der Qualitätsanspruch ist: Steht eine App direkt den Endkunden zur Verfügung bzw. wird die Brand durch eine App maßgeblich beeinflusst bzw. transportiert, so sollten Container-Lösungen von der Überlegung ausgeschlossen werden. Oder anders formuliert: Hohe Qualitäts-Ansprüche verlangen performante Apps.

Ob für eine App nun Xamarin eingesetzt werden kann, hängt stark damit zusammen, wer diese App entwickelt: Unternehmen, die keine C#-Entwickler haben bzw. planen und Apps im Auftrag entwickeln lassen, sollten sich gegen eine Entwicklung auf Xamarin-Basis entscheiden. Letztendlich würde dies die Flexibilität bei der Partner-Suche vermindern, da es sowohl auf Agentur- als auch auf Freelance-Seite mehr Anbieter für eine reine Plattform-Entwicklung als für Xamarin-Entwicklung gibt.

Hat ein Unternehmen jedoch bereits C#-Entwickler und ist gewillt, in diese zu investieren und sie zu mobilen Entwicklern auszubilden, dann ist Xamarin die geeignete Lösung. Ausbilden bedeutet in diesem Zusammenhang, dass die Entwickler die einzelnen Funktionsweisen der Plattformen kennen lernen müssen und verstehen müssen, wie eine Plattform funktioniert, bevor sie mit dieser umgehen können.

Weitere Überlegungen
Eignet sich Xamarin auch für unternehmens-interne Apps, wenn das Unternehmen den Mitarbeitern nur eine bestimmte mobile Plattform zur Verfügung stellt? Grundsätzlich ja, denn auch hier geht es um Flexibilität, da diese eine mobile Plattform später auch einmal ausgetauscht werden kann beziehungsweise könnte BYOD eventuell zu einem späteren Zeitpunkt eingeführt werden.

Hat die Entscheidung für Xamarin einen Einfluss auf den Wartungsaufwand einer App? Nicht mehr als für reine Plattform-Entwicklung: mindestens einmal im Jahr bringen die großen Herstellen ein Update heraus und für dieses muss die App überprüft und unter Umständen angepasst werden.

Autor: Andreas Mather, Geschäftsführer all about apps

You must be logged in to post a comment Login


Blogverzeichnis - Blog Verzeichnis bloggerei.de Blog Top Liste - by TopBlogs.de Bloggeramt.de blogoscoop