Im heutigen Beitrag möchte ich darstellen und erklären, warum App4Mission nur native Apps mit Xcode oder Android Studio erstellt. Zusätzlich soll auch noch aufgezeigt werden, warum sich der Mehraufwand zum Anfang lohnt. Die Crossplatform Entwicklungsumgebungen wie zum Beispiel Ionic, Xamarin oder React Native reduzieren zwar den Aufwand zu Anfang, bringen aber im weiteren Verlauf einen erheblichen Mehraufwand mit gegenüber den Apps die mit Xcode oder Android Studio entwickelt wurden. Im weiteren Verlauf des Beitrags stelle ich die beiden Methoden gegenüber. Dazu zähle ich nach meiner Meinung die wichtigsten Vor- und Nachteile auf.
Crossplatform Entwicklungsumgebungen
Die Crossplatform Entwicklungsumgebungen wie zum Beispiel Xamarin, Ionic oder React Native bieten die Möglichkeit einen Quelltext für iOS und Android zu schreiben. Die damit erstellten Apps sind ebenfalls native Apps. Die Oberfläche und die Bedienung ist kaum zu unterscheiden von nativen Apps, die mit den Programmiersprachen Objective-C/Swift oder Java erstellt wurden. Ein weiterer Vorteil von Crossplatform Apps ist es, dass eigene Entwickler im Unternehmen nicht unbedingt umgeschult werden müssen. Sie können Ihr bestehendes Know-How auf die Erstellung von mobilen nativen Apps anwenden. Des Weiteren muss nur ein Quelltext für 2 Betriebssysteme (iOS & Android) gepflegt werden.
Das sind zugegeben sehr gute Vorteile mit einem hohen Gewicht. Kommen wir jetzt zu den Nachteilen. Bei so guten und vielen Vorteilen, fragen Sie sich sicherlich, was soll es hier noch für Nachteile geben ? Ja, es gibt Nachteile. Wie der Name Crossplatform schon sagt, muss in einem Quelltext für beide Betriebssysteme iOS und Android alle Funktionen untergebracht werden. Das bedeutet, dass für alle Funktionen immer der kleinste gemeinsame Nenner gesucht wird. Daraus resultiert, dass nicht alle Feinheiten einer Funktion in iOS oder Android zur Verfügung steht. Soll jetzt eine Funktion in iOS oder Android im Detail abgebildet werden, so muss diese selber implementiert werden. Ein weiterer Nachteil ist, dass neue Funktionen, die Apple oder Google veröffentlichen, bei einer Crossplatform nicht sofort zur Verfügung stehen.
Hier zwei Beispiele (Beispiel 1 / Beispiel 2) für eine App die mit einer Crossplatform Entwicklungsumgebung geschrieben wurde.
Native Apps mit Xcode oder Android Studio
Native Apps für iPhone oder iPad werden mit Xcode in den Programmiersprachen Objective-C und/oder Swift geschrieben. Für das Betriebssystem Android gibt es zwei Entwicklungsumgebungen. Einmal das Android Studio direkt von Google und Eclipse von der Eclipse Foundation. In beiden Entwicklungsumgebungen kommt die Sprache Java zum Einsatz, womit die Apps für Android erstellt werden. Zusätzlich gibt es noch die Sprache Kotlin im Android Studio, die dort mit Java gemischt werden kann.
Mit den Sprachen direkt von Apple oder Google sind Apps besser abgestimmt auf die Betriebssysteme iOS oder Android. Ein weiterer Vorteil ist, dass die Apps auch von der Benutzung der Resourcen und von der Performance her besser sind. Zu der besseren Performance und der besseren Nutzung von Resourcen gesellt sich die Langlebigkeit. Langlebigkeit definiere ich so, dass auch ein Update einer App mal gerne 1 Jahr oder mehr dauern kann und die App trotzdem noch auf den Geräten mit dem aktuellsten Betriebssystem läuft. Ein weiterer Pluspunkt ist, dass neue Funktionen und Sicherheitsaspekte schon während der Beta-Phase des neuen Betriebssystems eingebaut werden können. Die Veröffentlichung der neuen Funktionen und Sicherheitsaspekte wird dann mit dem Release des Betriebssystems durchgeführt.
Auch die Entwicklung von nativen Apps mit Xcode oder Android Studio hat Nachteile, was man fast nicht glauben kann. Ein großer Nachteil ist, dass für Android und iOS jeweils ein Quelltext geschrieben und gepflegt werden muss. Daran schließt sich auch gleich der zweite Nachteil an, das bedeutet mehr Aufwand und höhere Kosten für die Entwicklung gegenüber einer Cross-Platform Entwicklung.
Hier noch zwei Beispiele (Beispiel 1 / Beispiel 2) welche mit Xcode und Android Studio entwickelt wurden.