Zum Inhalt springen

Cross-Platform: Eine App für iOS und Android

Immer mehr Apps werden mit Cross-Platform Frameworks umgesetzt. Was diese Frameworks sind und wie wir sie nutzen, lesen Sie in diesem Artikel!

Letzte Änderung: November 2024


Eine kurze Einführung ins Thema

Auf Smartphones und Tablets gibt es unterschiedliche Betriebssysteme. Die bekanntesten sind Apple iOS und Google Android. Damit Apps auf diesen Systemen laufen können, müssen sie auf Basis der jeweiligen Programmiersprache dafür entwickelt werden. Sprich: Eine App speziell für iOS, eine App speziell für Android. Eine solche App wird als „nativ“ bezeichnet.

Es gibt aber auch seit einiger Zeit eine Alternative zu nativen Apps: Die Umsetzung mit Cross-Platform Frameworks.


Was sind Cross-Platform Frameworks?

Cross-Platform Frameworks bieten die Möglichkeit eine einzige App (oder Teile davon) nicht mehr nur für ein Betriebssystem zu entwickeln, sondern gleich für mehrere.

Das Feld der Cross-Platform Frameworks ist inzwischen weit. Es gibt mehrere Anbieter von Frameworks, die unterschiedliche Ansätze haben.


Beispiele für Cross-Platform Frameworks

Zur Illustration wollen wir hier kurz drei Beispiele vorstellen: Ionic, Flutter und Kotlin Multiplatform. 


Ionic

Mit dem Framework Ionic wird die App mithilfe von Web-Technologien geschrieben (die zum Beispiel auch für Websites verwendet werden). Die Web-Inhalte werden dann in einen Container gepackt, der speziell für das jeweilige Betriebssystem geschrieben wird (= native Entwicklung). Eine solche Mischform aus Nativ und Web nennt man Hybrid-App.

Sie eignet sich besonders für einfachere Apps, die vorwiegend Inhalte wie Text und Bild darstellen und keine oder wenige Funktionen benötigen, die spezifisch für die Betriebssysteme sind (z.B. Kamera oder GPS).  

Der Nachteil von Ionic ist, dass eine Hybrid-App in der Regel nicht so schnell und flüssig ist wie eine native App. Außerdem kann es schwierig sein, diese „Website in einer App“ so zu designen, dass es einer typischen iOS- oder Android-App entspricht.

Mehr zu Ionic gibt es auf der dazugehörigen Website


Flutter

Weiter als Ionic geht Flutter von Google. Mit Flutter programmiert man die App in der Sprache Dart. Aus diesem Dart-Code werden native Apps generiert, die auf allen Plattformen gleich aussehen und reagieren. Damit bietet das Framework eine flüssige Benutzungserfahrung über alle Geräte hinweg.

Dieser Vorteil ist aber auch gleichzeitig ein Nachteil, denn iOS- und Android-Apps haben leicht unterschiedliche Designs und Verhaltensweisen, die mit Flutter schwierig genau nachzubilden sind. Das kann User*innen irritieren, die das spezielle Verhalten von Apps auf ihrem Betriebssystem gewohnt sind.

Alle Informationen zum Framework findet man auf der Website von Flutter


Kotlin Multiplatform

…ist das jüngste der hier vorgestellten Frameworks. Die Programmiersprache Kotlin gibt es schon länger; seit 2019 ist es möglich, Kotlin für mehr als Android einzusetzen.

Mit Kotlin schreiben wir Teile einer App nur einmal und verwenden sie dann sowohl für Android als auch für iOS. Im speziellen wird die Kernlogik der App mit Android und iOS geteilt, während das Layout und Design für jedes Betriebssystem individuell angepasst werden.

Daher kann Kotlin sehr gut für Apps eingesetzt werden, die sehr komplex sind und speziell angepasste Designs und Funktionen für iOS und Android haben sollen.

Mehr zu Kotlin liest man auf der Website!



Die Vorteile der Cross-Platform Frameworks

Allen Unterschieden zum Trotz haben alle Frameworks zwei große Vorteile, die App-Anbietern das Leben versüßen!


1. Weniger Aufwand bei der Umsetzung

Es liegt auf der Hand: Es macht natürlich viel weniger Arbeit, wenn wir nur eine App (bzw. Teile einer App) für mehrere Betriebssysteme umsetzen müssen. Wir sehen bei unseren Projekten mit Apps, die sich sehr gut für die Cross-Platform-Entwicklung eignen, bis zu 60 Prozent Ersparnis im Vergleich mit einer strikten nativen Umsetzung!


2. Weniger Aufwand bei der Wartung

Wer eine App veröffentlicht, kann sich nicht einfach zurücklehnen: Es gibt immer wieder neue Funktionen zu ergänzen oder Verbesserungen zu machen. Dabei ist es sehr hilfreich, wenn man nur eine Code-Basis bearbeiten muss anstatt zwei Versionen für Android und iOS! 



Worüber wir nachdenken bevor wir eine App umsetzen

Ob und welches der oben genannten Frameworks wir für eine App anwenden, hängt von den folgenden Überlegungen ab.


Auf wie vielen Betriebssystemen soll die App laufen?

Es gibt Apps, die tatsächlich nur für ein Betriebssystem umgesetzt werden. Wir haben unter unseren Projekten einzelne Apps, die nur für Android umgesetzt wurden. Dabei handelt es sich um spezielle Apps, zum Beispiel eine App für die Außendienstmitarbeiter*innen des Kunden, die nur auf vorgegebenen Android-Geräten läuft.

In so einem Fall ist es sinnvoll, eine App rein nativ für Android umzusetzen – außer natürlich es besteht eine Chance, dass in näherer Zukunft eine iOS-Version folgen soll!

Eine App mithilfe von Kotlin Multiplatform zu entwickeln ist zwar um 5 bis 10 % aufwendiger als eine reine native Android-Umsetzung. Aber man erspart sich eine Menge, wenn die zusätzliche iOS-Version an den Start geht!


Gibt es schon eine App?

Ein Beispiel: Ein Kunde von uns hat zwei Apps in den Stores. Eine ist älter und wurde nativ umgesetzt, die zweite schon mit Flutter. In absehbarer Zukunft sollen die Funktionen beider in einer App zusammengefasst werden. Diese „Super-App“ hat dann ebenfalls Flutter als Basis.  

Bis zur Umsetzung der neuen App wird noch etwas Zeit vergehen – bis dahin muss die älteste, bestehende App aber upgedatet werden. Statt das nativ zu machen, wird sie gleich mit Flutter neu gebaut. So schafft man die Grundlage, um die beiden bestehenden Apps leichter in eine große zusammenzuführen.


Über welches Wissen verfügen die Entwickler*innen?

Wir unterstützen hin und wieder Unternehmen in der App-Entwicklung, die selbst Entwickler*innen im Haus haben. Wenn diese über bestimmtes Wissen verfügen wie zum Beispiel Web-Technologien oder native Entwicklung, werden wir – falls sinnvoll – darauf aufbauen. So ermöglichen wir, dass auch die internen Entwickler*innen die App betreuen können.



Unterm Strich

Cross-Platform Frameworks für mobile Apps können den Aufwand bei der Entwicklung stark reduzieren. Sie werden zunehmend besser und sind jetzt oft auch unsere Wahl für komplexe Apps, die viele speziellen Funktionen eines Betriebssystems ansprechen.

Dabei gilt weiterhin: Der erste Schritt bei jedem App-Projekt ist die detaillierte Erfassung der Anforderungen mit den Kunden. Erst auf dieser Basis treffen wir gemeinsam die Entscheidung über die technische Basis. 

Dabei kommt unseren Kunden zugute, dass wir Erfahrung mit unterschiedlichen Technologien und Frameworks haben – wir können also aus einer breiten und sich ständig ändernden Palette an Alternativen die beste heraussuchen!