Xamarin:
Warum es DAS Tool für die Cross Plattform Entwicklung für Enterprise-Apps ist!

Mit Xamarin lassen sich Apps für iOS- und Android-Systeme entwickeln - schneller und einfacher als bisher.

Was Xamarin zur besten Lösung für viele Arten von Cross Plattform Apps macht, wie Xamarin über die Plattformgrenzen hinaus geht und warum eine Xamarin Agentur die richtige Wahl ist, zeigen wir Ihnen hier.

Auf dieser Seite finden Sie:

Die App-Entwicklung - Interessante Basics

Alternativen zu nativen Apps

Alles über Xamarin

Xamarin für Ihr App-Projekt

Ihre Xamarin Agentur Incloud

Inhaltsverzeichniss

Android oder iOS - oder doch Beides?

iOS - Android - Windows App-Entwicklung

Gleich zu Beginn: Wer eine weit verbreitete und lukrative App herausbringen möchte, kommt weder an Android noch an iOS vorbei. Aber warum ist das eigentlich so?

Seit mobile Endgeräte mit dem Menschen Hand in Hand durchs Leben gehen, ist in der App-Entwicklung viel passiert. Letztlich konnten sich nur zwei Betriebssysteme nachhaltig auf dem Markt etablieren. Die beiden Tech-Riesen: Android von Google und iOS von Apple. Android hat einen Marktanteil an Smartphone-Verkäufen von über 80%, im Gegensatz dazu geben iOS-User mehr Geld für Apps aus. Beide Plattformen sind dementsprechend äußerst attraktiv.

Hinzu kommt, dass iOS und Android gemeinsam über 95% des Markts abdecken. In dieser Kombination wird fast jeder Smartphone-User zum potentiellen App-User. Übrigens gilt das natürlich auch für Tablets: iPads und Android-Tablets machen hier ebenfalls einen Großteil der verkauften Geräte aus.

Daher ist es schon fast Voraussetzung, dass eine App auf beiden Plattformen optimal laufen muss, um lukrativ zu sein und eine hohe Reichweite erzielen zu können.

Was heißt das jetzt genau für die anfallenden Kosten und den Zeitaufwand während der gesamten Phase der App-Entwicklung?

Das ist Jens.
"Die Entwicklung der gleichen App für zwei oder drei Plattformen bringt automatisch Mehraufwand und höhere Kosten mit sich."
Jens Becker, Head of Engineering bei Incloud

Nach der Entwicklung ist vor der Pflege

Der geschriebene Quellcode einer Android-App lässt sich nicht für eine iPhone-App verwenden. Die logische Schlussfolgerung ist, dass sich der Aufwand verdoppelt – aus einem Softwareprojekt entstehen zwei, das zweite genauso umfangreich wie das erste.

Angesichts der ohnehin hohen Entwicklungskosten ist der zusätzliche finanzielle Aufwand für die Entwicklung auf einer weiteren Plattform erheblich. Hinzu kommt, dass nach der Entwicklung noch lange kein Ende in Sicht ist, denn die weitere Pflege der App ist aufwendig: Updates und Änderungen müssen ebenfalls zweimal durchgeführt werden. Einmal für Android. Einmal für iOS.

Oft wird daher eine App zuerst nur für eine Plattform entwickelt und die andere nachgezogen, aber auch hier ist beim zweiten Projekt mit einem ähnlichen Aufwand wie beim ersten zu rechnen. Der Aufwand bleibt der gleiche und unter Umständen dauert es so sehr lange, bis beide Apps auf dem Markt sind.

Aber warum lässt sich der Code einer App eigentlich nicht auch für eine andere Plattform verwenden?

iOS - Android - Windows App-Entwicklung

Jede Plattform spricht eine andere Sprache

iOS - Android - Windows App-Entwicklung

Menschen sprechen unterschiedliche Sprachen. So verhält es sich auch für Plattformen – quasi wie eine eigene Muttersprache. Jede Plattform spricht und versteht folglich eine andere Sprache:

  • iOS-Apps werden in Objective C oder zunehmend auch in Swift geschrieben,
  • Android-Apps in Java
  • und Windows-Anwendungen in C#.

Apps, die mit den plattformeigenen Sprachen, also der Muttersprache, entwickelt werden, werden „native Apps“ genannt. Native Apps können die Hardware der Geräte optimal nutzen – sie haben Zugriff auf alle Gerätefunktionen, wie beispielsweise die Kamera oder die Sensoren. Sie laufen flüssig, schnell und fühlen sich einfach richtig gut an.

Das liegt daran, dass die Hardware die App optimal versteht, weil sie in der vom Hersteller vorgesehenen Sprache programmiert wurde.

Alternativen zu nativen Apps

Hybride Apps - Webseiten im App-Mantel

Neben den nativen Apps gibt es auch sogenannte "hybride Apps". Sie werden in HTML5, CSS und JavaScript geschrieben und auf mobilen Endgeräten, PCs sowie verschiedenen Betriebssystemen angezeigt. Sie ist weder als eine reine native, noch als eine reine webbasierte App zu klassifizieren, aber kombiniert die Vorteile beider und ergibt so ein gutes Zusammenspiel.

Ein bekanntes Tool zum Erstellen von Hybrid Apps ist z.B. Ionic, welches auf AngularJS und Apache Cordova basiert. Cordova baut einen Container um die App und bringt Plugins mit, die den Zugriff auf Hardwarefunktionen, wie die Kamera oder den Kalender ermöglichen. So wird aus einer Web-Applikation eine App, die über den Store geladen und installiert werden kann.

Mit der Veröffentlichung des Open-Source-Frameworks Ionic war eine Lösung für die Mäkeleien der hybriden Apps gefunden. Bis dato liefen sie spürbar langsamer, reagierten nicht so flüssig auf Interaktionen wie native Apps und native Kontrollelemente konnten lediglich nachgebaut werden.

Cross Plattform Tools – Die Code-Übersetzer

Neben hybriden Apps gibt es Cross Plattform Tools, wie beispielsweise React Native von Facebook. Der Code wird hier zwar auch in JavaScript geschrieben, aber nicht im Browser ausgeführt. Stattdessen stellt React Native eine Brücke zwischen dem JavaScript-Code und der Objective C bzw. Java-Schnittstelle des Gerätes her.

Diese Apps fühlen sich wie native Apps an und sehen auch so aus, weil sie die nativen Kontrollelemente anzeigen können. Native Kontrollelemente sind z.B. Buttons, die speziell für die jeweilige Plattform (Android oder iOS) entworfen wurden. Damit es eben so aussieht, wie es auf Android und iOS aussieht und jedem Nutzer bekannt ist.

Allerdings ist React Native noch ein sehr junges Framework mit vielen Baustellen. Auch wenn in der Technik sehr großes Potential schlummert und sie wirklich Spaß macht, ist es noch zu riskant, React Native im Unternehmenskontext einzusetzen.

Aber gibt es denn überhaupt ein Tool für die Cross Plattform App Entwicklung, das ausgereift genug ist und mit dem man Apps in nativer Qualität entwickeln kann?

Die Lösung: Xamarin

Die Lösung lautet: Xamarin. Xamarin ermöglicht es, Apps für verschiedene Plattformen in C# zu schreiben und schafft es, diesen Code direkt so umzuwandeln, dass die Geräte ihn verstehen.
Dazu müssen nicht erst die nativen Schnittstellen angesprochen werden, Smartphones und Tablets verstehen die App direkt. Die Apps laufen dadurch nativ auf den Geräten. Das funktioniert so gut, dass Xamarin-Apps zeitweise sogar performanter als in Java und Objective-C entwickelte Apps waren. Für die Oberflächen werden native Elemente der jeweiligen Plattformen genutzt.

Die Xamarin-Apps sind daher nicht nur nativ: sie sehen auch so aus und fühlen sich verdammt gut an.

Xamarin Dev

Die Geschichte von Xamarin

Gegründet wurde das Unternehmen Xamarin 2011 von dem Entwickler Miguel De Icaza. Er hatte das Ziel, die native mobile Entwicklung zu einem schnellen und einfachen Prozess zu machen. De Icaza und weitere Entwickler brachten hierfür die Technologie „Mono“ mit, die sie selbst entwickelt hatten.

Mono ist eine Open-Source-Variante des .NET-Frameworks von Microsoft, die es auch schon fast genauso lange gibt. In der früheren Mono-Welt gab es Mono für Android und Monotouch. Diese wurden später in Xamarin.Android und Xamarin.iOS umbenannt. Mono läuft auf fast jeder denkbaren Plattform und ist der Schlüssel zu Xamarins ultimativer Stärke: native Ausführung von Apps auf iOS, Android und Windows-Geräten.

Seit der Gründung ist Xamarin stetig gewachsen. Im März 2016 wurde das Unternehmen schließlich von Microsoft übernommen. Microsoft definierte seine Unternehmensziele im Jahr 2014 quasi neu: weg von der bisherigen produktorientierten Denkweise hin zu einem funktionsorientierten Unternehmen. Die cloud-first, mobile-first Strategie Microsofts ist für Xamarin bestens geeignet.

Zusätzlich wurde Xamarin mit all seinen Komponenten in jeder Visual Studio Version integriert. Und auch die Entwickler der Xamarin Agenturen können sich nun noch sicherer sein, dass das Produkt dauerhaft weiterentwickelt und supportet wird. Die besten Voraussetzungen für Xamarin's Zukunft.

Ein Video sagt mehr als tausend Worte

Deshalb lassen wir Alaska Airlines für uns sprechen:

Wieviel Code lässt sich teilen?

Der größte Vorteil gegenüber der nativen Entwicklung ist das Code-Sharing: Einmal geschriebener Code kann für mehrere Plattformen verwendet werden.

Wie hoch ist also die gemeinsame Code-Basis bei Xamarin?

Generell kann die gesamte „Business Logik“, also alles, was bei einer App im Hintergrund an Funktionalität abläuft und für den Benutzer nicht sichtbar ist, geteilt werden. Das kann, je nach Projekt, bis zu 90% des Codes ausmachen.
Neunzig Prozent!

Bei der Programmierung der Benutzeroberfläche, also alles, womit der Benutzer in Kontakt kommt und was für ihn sichtbar ist, bietet Xamarin zwei verschiedene Möglichkeiten an:

  • die gemeinsame Entwicklung der Oberfläche mit Xamarin.Forms oder
  • die getrennte Entwicklung der Oberfläche mit Xamarin.iOS und Xamarin.Android

Gemeinsame UI mit Xamarin.Forms

Seit 2014 gibt es für die Xamarin App-Entwicklung die Bibliothek Xamarin.Forms. Damit kann auch die Oberfläche für alle Plattformen gleichzeitig mit C# entwickelt werden.

Einzelne Kontrollelemente werden bei Forms den nativen Elementen der jeweiligen Plattform zugeordnet. Diese sehen dann nicht auf allen Plattformen gleich aus, sondern entsprechen dem Layout der jeweiligen Plattform – eben native Elemente. Das setzt voraus, dass es das jeweilige Element sowohl in iOS als auch in Android gibt.

Die Verwendung von Xamarin.Forms lohnt sich daher, wenn

  • Apps wenig plattformspezifische Funktionalität beinhalten sollen und
  • das Code-Sharing wichtiger ist als eine individuelle Nutzeroberfläche.

Die getrennte Entwicklung der Oberfläche ist am besten, wenn

  • der Kontrollfluss der App stark an die Plattformen angepasst werden soll,
  • plattformspezifische Zusatz-Tools verwendet werden und
  • die Nutzeroberfläche wichtiger ist als Code-Sharing.

Cross Plattform Entwicklung im Vergleich

Nativ Xamarin React Native Hybride Apps
Aufwand
Für jede Plattform mehrfacher Aufwand

geringe Anpassungen pro Plattform

geringe Anpassungen pro Plattform

kaum Mehraufwand
Performance
optimal

optimal

besser als Hybrid

spürbar weniger performant
Gemeinsame Codebasis
0%

60% - fast 100%, je nach Anforderung

Fast 100%

Fast 100%
User Experience
flüssig und schnell

flüssig und schnell, wie nativ

flüssig und schnell, wie nativ

spürbar weniger flüssig, wie Websites
Zugriff auf Hardware-Funktionen
uneingeschränkt

uneingeschränkt

uneingeschränkt, mit Aufwand

uneingeschränkt, mit Aufwand

Xamarin als Enterprise-Ready Lösung

In der App-Entwicklung gibt es ständig neue Alternativen und Lösungen zu bisherigen Technologien – bis diese aber stabil, verlässlich und reif genug für Unternehmen sind, können Jahre vergehen.

Das Cross Plattform Tool Xamarin bringt diese Reife bereits mit, auf die eine Xamarin Agentur setzt. Denn es überzeugt in jeder Hinsicht aufgrund der folgenden Merkmale:

  • Die darunterliegende Technologie Mono ist extrem stabil und wird ständig weiterentwickelt.
  • Der Kauf von Microsoft zeigt, dass Xamarin dauerhaft weiterentwickelt und supportet werden wird.
  • Seit der Übernahme können Xamarin-Apps in Visual Studio programmiert werden - ohne zusätzliche Lizenzkosten.
  • C# ist die Programmiersprache der Unternehmenswelt - gemacht für umfangreiche Projekte, stabil, mächtig und weit verbreitet.

Ihre Xamarin-Experten bei Incloud

Es ist uns wichtig, Sie und Ihr Projekt sicher zum Erfolg zu führen, denn wir lieben das, was wir tun. Und das ist uns bislang auch immer gelungen. Damit das so bleibt, befinden wir uns in ständiger Weiterentwicklung. Schon 2010 stießen wir dabei auf das damalige Monotouch und Mono for Android - die beiden Vorgänger-Produkte von Xamarin - und setzten sie erfolgreich in Projekten ein. Seither konnten wir als Xamarin Agentur erfolgreich zahlreiche Projekte mit Xamarin umsetzen.

Obwohl wir ständig neue Alternativen zu Xamarin testen, stellen wir immer wieder fest, dass Xamarin jetzt und in den nächsten Jahren das beste Cross Plattform Tool sein wird.

Und unsere Xamarin Entwickler geben ihr Wissen über die Cross Plattform Entwicklung auch weiter! Auf Konferenzen und Workshops lassen sie andere Teilnehmer an ihren Erfahrungen teilhaben und machen Sie und Ihr Unternehmen fit für die Zukunft. Damit auch Sie so viel Spaß haben wie wir. Jeden Tag aufs Neue.

Egal, ob Sie ein Projekt bei uns entwickeln lassen möchten, oder von unserem Know-how als Xamarin Agentur profitieren wollen, um Ihre Entwickler fit zu machen: Incloud ist die richtige Xamarin Agentur für Sie!

Ein kleiner Auszug der Früchte unserer Arbeit:

arvato Bertelsmann AG
Ströer Digital Publishing GmbH
Jung von Matt / Alster
Döhler
GEA
TECHKON GmbH
REFA Group
EL
BHM
Andreas Leonhardt

Die Incloud GmbH hat für das Bankhaus Main ein Wertpapierbuchhaltungssystem entwickelt, welches für die gesamte Bank (Markt und Marktfolge) einen großen Mehrwert aufwies.

Wir haben das Incloud Team während des gesamten Prozesses als sehr qualifiziert und hoch motiviert kennen gelernt.

-- Andreas Leonhardt, CFO Bankhaus Main
Christian Pfeil

Die hervorragende konzeptionelle Kompetenz und das technische Know-how im Mobile-Bereich haben uns überzeugt.

Zuverlässigkeit, Kreativität und Praxisbezug – das bringe ich mit Incloud in Verbindung. Vielen Dank an ein sehr motiviertes Team und weiterhin auf gute Zusammenarbeit!

-- Christian Pfeil, Döhler Group
Carl Kuhn

Incloud hat schnell gearbeitet, stets mitgedacht und war unkompliziert im Umgang. Klare Empfehlung!

-- Carl Kuhn, Jung von Matt/Alster
Manfred Stroh

Die Incloud GmbH begleitet uns seit vielen Jahren als außerordentlich kompetenter Entwicklungspartner bei unseren Web-, Mobile- und App-Projekten.

Unsere Ideen und Vorgaben wurden stets kreativ, anforderungsgerecht und zuverlässig umgesetzt. Vielen Dank für den immer zeitnahen Support.

-- Manfred Stroh, REFA Bundesverband e.V.
Michael Dobers

Incloud hat erstklassige Arbeit geleistet. Mit ihrer methodischen Kompetenz haben sie uns bei Spezifikation und Entwicklung auf einen Weg gebracht, der mit einer Punktlandung bei angebotenem Aufwand und angebotener Funktion endete. Die Kommunikation war immer direkt, ehrlich und konstruktiv.

Dank an ein motiviertes Team mit Spaß an seiner Arbeit!

-- Dr. Michael Dobers, GEA Farm Technologies

Kundenstimmen

GEA Farm Technologies

Incloud hat erstklassige Arbeit geleistet. Mit ihrer methodischen Kompetenz haben sie uns bei Spezifikation und Entwicklung auf einen Weg gebracht, der mit einer Punktlandung bei angebotenem Aufwand und angebotener Funktion endete. Die Kommunikation war immer direkt, ehrlich und konstruktiv.

Dank an ein motiviertes Team mit Spaß an seiner Arbeit!

-- Dr. Michael Dobers, GEA Farm Technologies

Jung von Matt

Incloud hat schnell gearbeitet, stets mitgedacht und war unkompliziert im Umgang. Klare Empfehlung!

-- Carl Kuhn, Jung von Matt/Alster

Bankhaus Main

Die Incloud GmbH hat für das Bankhaus Main ein Wertpapierbuchhaltungssystem entwickelt, welches für die gesamte Bank (Markt und Marktfolge) einen großen Mehrwert aufwies.

Wir haben das Incloud Team während des gesamten Prozesses als sehr qualifiziert und hoch motiviert kennen gelernt.

-- Andreas Leonhardt, CFO Bankhaus Main
Unser kleines Geschenk:
Incloud Ping

Unser Newsletter informiert Sie alle 2 Monate über unsere Ansichten zu den relevantesten digitalen Themen.

Wir langweilen Sie nicht und liefern Ihnen mit jedem Ping einen kleinen digitalen Aha-Moment. Ihre Zeit ist wertvoll, wir werden sie nicht verschwenden. Versprochen.

Jetzt abonnieren! Spannend, gratis & jederzeit abmeldbar. Was gibt es da schon zu verlieren?