Cross-Plattform-Apps mit Xamarin

Bewerten
13 Bewertungen,
Durchschnitt 4,5

Im Jahr 2009 begann unser Team aus Informatikern und Ingenieuren eine App zu entwickeln, damit Anwender im Außendienst – online wie offline – zu jeder Zeit und auch in abgelegenen Winkeln auf ihre Daten zugreifen konnten. Für uns war ganz klar, dass wir das auf der iOS-Plattform tun. Denn wir waren völlig fasziniert und überwältigt von der Apple-Welle, die unser Land seit 2007 überrannt hatte. Ich meine, gab es das Wort intuitiv überhaupt vor dem iPhone? Das Telefon mit dem Apple-Logo hatte alles bisher Dagewesene in Schutt und Asche gelegt. Die Features waren einzigartig, die Bedienung übersichtlich, klar und auf das Wesentliche beschränkt. Genau das wollten unsere Kunden. Genau das wollten wir für unsere Kunden. Doch der Markt stand nicht still.

Mobile Geräte erobern den Markt

2010 eroberte das iPad die Herzen aller Händler, Designer, Kreativen und wir hatten per se die perfekte Hardware für unsere Business-Apps. Damit waren unsere Kunden im Außendienst – und vorrangig im Retail beschäftigt – nicht nur produktiv, fortschrittlich und modern. Sie waren vor allem voll im Trend. Und das ist gerade bei der Präsentation des Unternehmens im Verkauf oder Einkauf ein nicht zu unterschätzender Wert. Nach dem Aufkommen der Tablets gab es sogar Versuche, die Außendienstmitarbeiter nur noch mit Tablets auszustatten: für sämtliche Aufgaben auf einem einzigen Gerät. Doch der Markt schrie nach mehr. Zum einen nach mehr Hardware. Es gab nach 2010 eine nicht unerhebliche Menge an mobilen Geräten – zum Beispiel auch Phablets von vielen verschiedenen Anbietern wie Samsung, HUAWEI, Sony, Google, um nur die ganz großen zu nennen. Ein Mitarbeiter im Sales war nun weit davon entfernt, nur ein einziges Gerät zu nutzen: er arbeitet zu Hause im Backoffice auf seinem Notebook, präsentiert neue Produktkollektionen auf einem Tablet oder nimmt für einen kurzen Kundenbesuch einfach sein Telefon mit, um die Termine abzustimmen oder Flächenbestand aufzunehmen.

Ein wachsender Betriebssytem-Markt

Das neue Hardware-Angebot brachte auch viele weitere Softwareplattformen auf den Markt. iOS blieb nicht allein. Den Markt teilen sich heute Android, iOS und Windows. Und die Kunden können sich ganz entspannt die Frage stellen, welches Betriebssystem auf welchem mobilen Gerät das geeignete für sie ist. So war für uns sehr schnell die Entscheidung gefällt, unsere Business-Apps auch für Android und Windows mit einer einheitlichen Benutzeroberfläche zu entwickeln. Unsere App plattformunabhängig anzubieten, damit der Nutzer sich nicht entscheiden muss und situativ verschiedene Geräte auf verschiedenen Plattformen einsetzen kann. Doch plattformunabhängige Apps baut ein Entwickler nicht mal einfach so nebenbei.

Unsere Überlegungen für eine Cross-Plattform-Entwicklung

Es gibt genau drei Möglichkeiten: Zum einen hätten wir unsere in iOS programmierte Anwendung identisch für alle anderen Plattformen parallel entwickeln können. Das ist gefährlich und aufwendig. Jedes Team erarbeitet die Funktionen für die App auf seine Weise. Ob am Ende die gleiche Applikation dabei rauskommt, ist ungewiss. Eine weitere Möglichkeit ist es, auf HTML-Basis zu programmieren. Damit erhält man einen Code, der auf allen Plattformen angewendet werden kann. Aber die Performance hätte uns am Ende nicht zufrieden gestellt. Die Anwendungen wirken nicht authentisch und weichen von dem für die jeweilige Plattform typischen, vorgeschriebenen Stil ab. Am Ende ist der Nutzer unzufrieden. Außerdem hat man keinen direkten Zugriff auf Hardware-Komponenten und Plattform-APIs.

Warum Xamarin?

Wir fanden eine dritte Variante sehr attraktiv: Denn 2016 hat Microsoft sich dafür entschieden, mit seinem .NET-Framework auch andere Betriebssysteme zu unterstützen und kaufte Xamarin auf. Xamarin hat auf der Basis von Mono, einem plattformneutralen .NET-Nachbau, Erweiterungen im mobilen Bereich entwickelt. Damit sind klassische .NET-Entwickler in der Lage, ihren Code als native Mobile-Apps für Android und iOS bereitzustellen.

Anwendungen werden in C# geschrieben, einer modernen Sprache. Die direkte Integration der nebenläufigen Aufgaben in die Sprache durch async / await ist besonders gut gelungen und hilft einen gut strukturierten Code ohne „Callback-Hell“ zu schreiben.

Beim Einsatz von Xamarin.Forms hat man ein plattformübergreifendes UI/UX mit nativen UI-Elementen. Die Performance von Xamarin-Apps ist vergleichbar mit nativen Apps. Und der Entwickler erhält einen direkten Zugriff auf Hardware-Komponenten und Plattform-APIs. Zudem ist Microsoft Xamarin in Visual Studio integriert, damit entfallen Lizenzkosten.

Heute gibt es rund 1,4 Millionen registrierte Entwickler weltweit. Ich bin einer von ihnen. Für mich sind die Communities sehr wichtig. Der Austausch bringt mich voran. Ich löse damit Herausforderungen. Da immer mehr 3rd-Party-Bibliotheken erstellt werden, wird der Funktionsumfang von Xamarin permanent ergänzt. So finde ich hier immer spannende neue Features, die ich für unsere Kunden entwickeln und übernehmen kann.

Fazit

Die Entwicklung von Xamarin geht in die richtige Richtung. Apps, die unter Verwendung von Xamarin erstellt wurden, weisen natives Aussehen und Verhalten auf. Die funktionalen Lücken werden geschlossen. Mit jedem neuen Release kommt etwas Neues hinzu. Mit Xamarin.Forms Version 4.0 wurde zum Beispiel die CollectionView-Komponente eingeführt, die eine Darstellung in einer Grid/Kachel-Form erlaubt.

Wir bieten unseren Kunden die native App mit Xamarin nun plattformunabhängig an. Damit ist es uns gelungen, die im praktischen Einsatz der iOS-App bewährten Prozesse und Strukturen auf andere Plattformen zu übertragen. Im Vordergrund stand in der ersten Phase die effiziente einheitliche Auftragserfassung für Varianten- und Verbraucherartikel. Damit hat sie an Drive gewonnen und hat weitaus mehr Features als zuvor.

Keine Updates
mehr verpassen:
1

Zurück