Du möchtest eine App entwickeln und sie in die Läden bringen? Möchtest die App aber der Einfachheit halber nur in einer Programmiersprache schreiben und suchst deshalb nach einer geeigneten Cross-Plattform-Lösung? Und jetzt fragst du dich: Welche ist denn die Beste? In welche Plattform soll ich mich einarbeiten? Dafür habe ich dir hier 3 Cross-Plattformen im Vergleich dargestellt.
Genau das habe ich mich auch gefragt. Also habe ich die Vor- und Nachteile von drei gängigen Möglichkeiten recherchiert und sie miteinander verglichen: Xamarin, Flutter und React Native. Meine Entscheidung fiel auf Xamarin. Warum, erfährst du in diesem Artikel. Er soll dir helfen, das für dich passende Tool zur Programmierung deiner App zu finden. Ganz unten kannst du dir den Cross-Plattformen Vergleich auch noch mal in einer kurzen Übersicht als PDF herunterladen.
Wenn dich eher das Setup für die App-Entwicklung interessiert, lade dir doch direkt meine KOSTENLOSE Checkliste: „Was du alles benötigst, um mit Xamarin Apps für Android und iOS entwickeln zu können.“ herunter.
1. Was ist überhaupt Cross-Plattform App-Entwicklung?
Ob Reisen, Nähen, Kochen oder wofür auch immer du dich begeisterst: Wer seine Leidenschaft per App mit anderen teilen möchte, will natürlich möglichst viele Menschen ansprechen. Egal, ob das Betriebssystem auf dem Smartphone iOS oder Android heißt. Um alle zu erreichen, müsste man eigentlich jede App zweimal programmieren, einmal für iOS, einmal für Android. Genau hierfür bieten Cross-Plattformen eine einfache Lösung: Sie übersetzen die App von der einen in die andere „Sprache“.
1.1. Die Vorteile von Cross-Plattformen:
Entwickelst du deine App auf einer Cross-Plattform, kannst du eine sehr große Reichweite erzielen, da du so fast alle Smartphones erreichst – im Gegensatz zu einer nativen Entwicklung, bei der man nur die Nutzergruppe des jeweiligen Betriebssystems ansprechen kann. Außerdem sparst du dir eine Menge Zeit, da du die App nur einmal entwickeln musst. Zudem brauchst du dir nicht die Mühe machen, zwei unterschiedliche Programmiersprachen zu lernen.
1.2. Die Nachteile von Cross-Plattformen:
Apple und Android geben vor, wie das Design auszusehen hat. In iOS muss beispielsweise die Navigation unten im Bildschirm sein, bei Android oben. Man muss also bei der Entwicklung des Designs vieles beachten. Außerdem bist du bei der Cross-Plattform App-Entwicklung technisch eingeschränkt, denn jede Cross-Plattform kann immer nur einen Teil der Funktionen nutzen, welche nativ zur Verfügung stehen. Deshalb eignet sich die Cross-Plattform Entwicklung beispielsweise weniger gut für Spiele-Apps mit vielen individuellen Grafiken.
1.3. Fazit zu den Cross-Plattformen:
Ob sich der Einsatz einer Cross-Plattform für die Entwicklung einer App lohnt, hängt also vom Einzelfall ab. Wenn deine App Standard-Elemente verwenden soll, keine individualisierten Menü-Animationen oder besondere Sonderwünsche enthält, lässt sich mit Xamarin & Co. eine Menge Zeit sparen. Aber schau nachfolgend in meinem Cross-Plattformen im Vergleich selbst, was für dich in Frage kommt.
2. Welche Möglichkeiten der Cross-Plattform App-Entwicklung habe ich?
2.1. Xamarin
Die Firma Xamarin wurde 2016 von Microsoft übernommen. Mittlerweile hat Microsoft Xamarin direkt in Visual Studio integriert und wird mit der Programmiersprache C# entwickelt. Das Ganze beschleunigt und vereinfacht die plattformunabhängige Entwicklung. Dadurch ist es möglich, dass man native Apps für Android, iOS und Windows gleichzeitig entwickeln kann. Mit Xamarin.Forms – einer Ableitung von Xamarin – kann man noch mehr Code teilen: 60 bis 100 Prozent des Codes wird geteilt.
2.1.1. Die Vorteile von Xamarin:
Der ganz große Vorteil ist, dass man in einer Programmiersprache und einer Entwicklungsumgebung arbeitet. Man hat eine native Benutzeroberfläche (nicht wie bei WebApps) sowie eine schnelle und einheitliche Umsetzung. Da die Komponenten der natürlichen Benutzeroberfläche automatisch gerendert werden, kommt immer ein nativer UI-Look heraus. Xamarin eignet sich eher, wenn wenige hardwarespezifische Funktionen benötigt werden – wobei es inzwischen sehr viele Plugins auf dem Markt gibt, so dass technisch einiges möglich ist. Ein großer Pluspunkt bei Xamarin ist, wie schnell es geht, eine App zu entwickeln. Da Xamarin direkt durch Microsoft supportet wird, existiert eine große, engagierte Community.
2.1.2. Die Nachteile von Xamarin:
Visual Studio ist nur für Studenten, individuelle Entwickler und kleinere Unternehmen kostenlos. Große Firmen müssen zahlen. Xamarin ist außerdem technisch komplex und es kostet Zeit, Spezial-Funktionen oder -Designs einzubauen. Deshalb empfehle ich dir, mit verschiedenen Programmier-Tutorials zu starten und dir eine Community zu suchen, die dir den Rücken stärkt.
2.2. Flutter
Flutter ist Googles Antwort auf die Cross-Plattform-Bewegung und wie das meiste, was der Gigant aus dem Silicon Valley anpackt, ist Flutter sehr durchdacht.
2.2.1. Die Vorteile von Flutter:
Flutter bietet ausgereifte und vielfältige Werkzeuge. Außerdem gibt es hunderte fertige Lösungen, die sich aber auch selbst entwickeln und modifizieren lassen. Flutter arbeitet zuverlässig und kostenlos.
2.2.2. Die Nachteile von Flutter:
Eine Hürde stellt die Programmiersprache dar: Flutter wird in Dart programmiert, das Google 2013 veröffentlicht hat. Eine weitere Programmiersprache zu lernen – das nervt natürlich erstmal. Jedoch macht Dart einem den Einstieg relativ leicht, weil es verwandt ist mit der C#-Familie und auch der Sprung von Java nicht allzu groß ist.
2.3. React Native
React startete 2013 als reine Web-Plattform und wurde im Zuge eines Facebook-Hackathons zu React Native ausgebaut. Die Plattform erlaubt es, in einem deklarativen Code die Seitenelemente zu beschreiben und rendert diese dann mit den nativen Elementen in iOS und Android. React wird in JSX programmiert, einer Erweiterung von Java Script.
2.3.1. Die Vorteile von React Native:
Da die Komponenten der natürlichen Benutzeroberfläche automatisch gerendert werden, kommt immer ein nativer UI-Look heraus. Es gibt außerdem eine große Auswahl an fertigen Komponenten, mit denen man schnell Funktionen zusammenschieben kann. Zudem ist React Native kostenlos.
2.3.2. Die Nachteile von React Native:
Es gibt einen von den Entwicklern selbst gestarteten Kummerkastenthread, der aufzeigt, was Entwickler an React Native stört. Genannt wird beispielsweise, dass das Update von einer Version auf die nächste langwierig ist. Außerdem wird beim Debugg im Log die Adresse des Exception Managers angezeigt statt der Fehlerzeile, die dann schwer zu finden ist. Dies ist nur ein Auszug aus der Vielzahl an Kritikpunkten. Die Anzahl der kritischen Kommentare ist zum aktuellen Zeitpunkt dreistellig.
3. Cross-Plattformen im Vergleich und Warum ich Xamarin gewählt habe und es auch jedem empfehlen kann
Alle Cross-Plattformen im Vergleich haben dir nun hoffentlich einen guten Überblick gegeben. Warum habe ich mich nun ausgerechnet für Xamarin entschieden? Da ich mich ohnehin im Microsoft-Umfeld bewege, musste ich keine neue Programmiersprache lernen – ein Riesen-Plus! Insgesamt hat mich Microsoft als „Pusher“ überzeugt. Der US-Software-Gigant steckt enorm viel Arbeit und Geld in Xamarin und auch in die restliche Software-Entwicklung (zum Beispiel Azure-Cloud). Auch die große Community von Microsoft treibt die Entwicklung und Verbesserung von Xamarin voran und erstellt verschiedene Plugins, wodurch du dir viel Zeit sparst. Als Freelancerin unterstütze ich meine Kunden bei der App-Entwicklung und setze hier Xamarin für Business-Apps ein. Das Feedback meiner Kunden ist durchweg ausgesprochen positiv. Dies bestätigt mir, dass Xamarin eine Plattform mit Zukunft und Potential ist.
Wenn es dir wie mir geht und du das Zusammenspiel der Microsoft-Produkte in der Software-Entwicklung und das Programmieren mit C# in Visual Studio einfach magst, dann ist Xamarin genau die richtige Plattform für dich.
Ich hoffe, dass dir die Cross-Plattformen im Vergleich einen guten Überblick gegeben haben. Noch übersichtlicher bekommst du diese Informationen im nachfolgenden PDF.