Wie entwickle ich eine App? Alles zur plattformübergreifenden App-Entwicklung
Methoden

Wie entwickle ich eine App? Alles zur plattformübergreifenden App-Entwicklung

Jonas
Jonas

Gastautor

· April 2020

· aktualisiert September 2023

Die Entwicklung einer eigenen App gehört heute in vielen Branchen nicht mehr nur zum guten Ton, sondern ist Teil des Pflichtprogramms. Sei es ein Online-Shop, ein Buchungs-Portal, ein Streaming-Angebot oder ein Social Enterprise: Wer Sichtbarkeit auf mobilen Geräten erreichen will, kommt um eine App nicht mehr drum herum. Und welche Bedeutung mobile Geräte im Alltag der meisten Menschen haben, wissen wir alle mittlerweile selber nur zu gut. Dazu kommt, dass eine App einen konkreten Mehrwert für den Nutzer bietet. Eine gut gemachte App ist schnell aufgerufen, komfortabel in der Bedienung und bietet ein positives User Experience – was wiederum zu positiven Assoziationen mit der Marke und dem Angebot führt.

Welche Plattform für meine entwickelte App?

Um einen möglichst großen Kundenkreis zu erreichen, müssen wir uns natürlich erst einmal die Frage stellen, für welche Plattform wir überhaupt eine App entwickeln wollen. Die gute Nachricht zuerst: Die Zeiten, in denen Microsoft, Blackberry, Apple, Google und Palm um die Vorherrschaft im Smartphone-Sektor kämpften sind vorbei. Es gibt heute eigentlich nur noch zwei relevante Software-Plattformen im mobilen Bereich: Googles Android und Apples iOS, die praktisch den gesamten Markt unter sich aufteilen. Damit lässt sich auch die Frage, welche Zielplattformen angegangen werden sollen, auf diese zwei Optionen herunterbrechen.

Android bietet hier den Vorteil der stärkeren Verbreitung, repräsentiert also auch einen größeren potentiellen Markt. Dagegen gilt die Apple-Kundschaft generell als finanzkräftiger und ist damit besonders für hochpreisige Produkte als Markt interessant. Im App Store unter iOS werden zudem kostenpflichtige Apps (sei es als Einmalkauf oder im Abo) eher angenommen als unter Android. Das ist vor allem dann wichtig, wenn die App selbst euer Produkt darstellt.

Für die meisten Startups wird die Antwort auf die Plattform-Frage aber ohnehin lauten: Beide! Doch wie entwickle ich eine App nicht nur für eine, sondern gleich für zwei Plattformen? Wie schaffe ich gleichzeitig eine einheitliche User Experience und halte mein Entwicklungsbudget im Rahmen? Mit diesen Fragen seid ihr natürlich nicht alleine. Ganz im Gegenteil, Unternehmen und Entwickler:innen auf der ganzen Welt stellen sich diese Fragen jeden Tag. In diesem Artikel möchten wir ein bisschen Licht auf die Sache werfen und euch die verschiedenen Möglichkeiten für die plattformübergreifende Entwicklung vorstellen.

Eine App entwickeln: Native App-Entwicklung

Gut, das ist jetzt ein bisschen offensichtlich: Ihr entwickelt eine App für Android und eine zweite App für iOS. Android-Apps werden in den Programmiersprachen Java und Kotlin in der Entwicklungsumgebung (IDE) Android Studio unter Verwendung des OpenGL-Frameworks entwickelt, iOS-Apps dagegen in Swift und Objective-C unter Verwendung von UIKit und SwiftUI in der Apple-IDE Xcode geschrieben.

Die Nachteile der nativen App-Entwicklung

Wie ihr euch bei dieser Auflistung wahrscheinlich schon vorstellen könnt, gibt es nur sehr wenige Entwickler:innen, die alle diese Tools beherrschen. Das hat auch ein bisschen persönliche Gründe: Die meisten iOS-Entwickler:innen würden ein Android-Handy wahrscheinlich nicht einmal mit der Kneifzange anfassen und umgekehrt. Ihr braucht also in der Regel zwei Entwickler-Teams, was auch fast doppelte Kosten bedeutet. Allerdings auch nur fast, da ihr beispielsweise euren Entwurf für das User Interface natürlich trotzdem nur einmal machen müsst. Die entwickelten Apps haben jeweils eine eigene „Codebase“, also einen individuellen Quellcode. Änderungen an der App, um zum Beispiel zusätzliche Funktionen einzubauen, müssen also immer zweimal gemacht werden.

Die Vorteile der nativen App-Entwicklung

Die native Entwicklung bringt jedoch auch echte Vorteile mit sich. Durch die getrennte Entwicklung könnt ihr die App individuell auf das jeweilige Betriebssystem anpassen, sodass der:die Nutzer:in sich direkt „zuhause“ fühlt. Die Nutzung nativer APIs (also direkt vom Hersteller bereitgestellter Programmierschnittstellen) bietet zudem in der Regel die bestmögliche Performance. Auch bei Betriebssystem-Updates könnt ihr mit nativen Apps schnell reagieren, da ihr die notwendigen Änderungen direkt in eurem jeweiligen Quellcode vornehmen könnt. Zu guter Letzt kann es vorkommen, dass ihr auf bestimmte Hardware-Funktionen des Smartphones nur über native APIs zugreifen könnt, wenn eure App z.B. die Kamera, Bluetooth oder die Hardwarebeschleunigung nutzen soll.

Wie entwickle ich plattformübergreifende Apps?

Das Thema Cross-Platform Entwicklung ist aktuell in aller Munde. Dahinter steckt die Idee Anwendungen für unterschiedliche Plattformen mit einer gemeinsamen Codebase zu entwickeln. Die Umsetzung für die jeweilige Plattform übernimmt Software im Hintergrund. Es gibt kaum einen großen Tech-Konzern, sei es Google, Microsoft, Facebook oder Adobe, der nicht schon seine Pferde ins Rennen geschickt hätte. Wir könnten wahrscheinlich einen ganzen Artikel mit den verschiedenen Frameworks füllen, die inzwischen für die Entwicklung zur Verfügung stehen (und vielleicht machen wir das auch demnächst mal). Ein Framework ist in diesem Fall eine Bibliothek, auf die der:die Entwickler:in im Code zugreift. Die Bibliothek enthält alle Informationen darüber, wie dieser Code später übersetzt werden muss, um auf die Schnittstellen der jeweiligen Plattformen zuzugreifen.

Welches Framework ein:e Entwickler:in einsetzt, ist meist von der eigenen Vorerfahrung abhängig, da die unterschiedlichen Lösungen wiederum das Beherrschen unterschiedlicher Programmiersprachen und Werkzeuge voraussetzen. Die aktuell bekanntesten und beliebtesten Cross-Plattform Frameworks sind Facebooks React Native, Googles Flutter und die Open-Source Lösung NativeScript der Firma Progress.

Die Vorteile von plattformübergreifenden Apps

Vorteil von Cross-Platform Lösungen ist, dass nur eine Anwendung mit einem Quellcode geschrieben und gewartet werden muss. Die Koordination mehrerer Entwicklungs-Teams fällt weg. Gängige Frameworks unterstützen viele Hard- und Software-Schnittstellen der Endgeräte, wie etwa das GPS, Bewegungssensoren oder Push-Benachrichtigungen. In vielen Anwendungsfällen kann zudem eine nahezu native Performance erreicht werden und die User Experience ähnelt einer komplett nativen Anwendung. Quasi als Bonus obendrauf unterstützen viele der Frameworks auch noch die Entwicklung von Desktop- oder Web-Anwendungen, ohne dass ein neuer Quellcode geschrieben werden muss.

Mit Junico in die neue Arbeitswelt!

Finde die richtigen Freelancer:innen für dein nächstes Projekt oder suche nach spannenden Aufträgen, die zu deinen Skills passen.

Die Nachteile von Cross-Platform-Apps

Der größte Nachteil von Cross-Platform-Apps ist die Abhängigkeit vom Anbieter des Frameworks. Stellt etwa Apple für sein Betriebssystem iOS mit einem Update neue Funktionen zur Verfügung, so können diese in eurer eigenen App erst eingesetzt werden, wenn die entsprechenden Schnittstellen auch in dem von euch genutzten Framework zur Verfügung stehen. Hierdurch verzögern sich dann eure eigenen Update-Zyklen. Darüber hinaus sollte euch immer bewusst sein, dass keine Cross-Platform Lösung alle Funktionen und Schnittstellen der Zielgeräte unterstützt. Sollen diese dennoch genutzt werden, kann dies einen großen Aufwand bedeuten oder sogar unmöglich sein.

Web Apps, hybride Apps und ihre Entwicklung

Eine Web App ist eine vollständig browserbasierte Anwendung. Sie ist optimiert für die Nutzung auf mobilen Geräten und komplett plattformunabhängig. Die Nutzer:innen müssen nichts herunterladen – es reicht der Browser, der sich bereits auf dem Smartphone befindet. Es handelt sich bei einer Web App also nicht um eine Smartphone App im klassischen Sinne. Vorteile dieser Lösung liegen in der einfachen Entwicklung und Wartung, ohne dass für die Nutzer:innen ein Update erforderlich ist.

Zugleich können Web Apps natürlich nicht in puncto User Experience mit herkömmlichen Anwendungen mithalten und sind ständig auf eine Internetanbindung angewiesen. Darüber hinaus fehlt die Sichtbarkeit in den App Stores sowie auf dem Endgerät des Nutzers und es kann nur sehr begrenzt auf Hardware-Funktionen zugegriffen werden.

Als Kompromiss wurden daher etwa von Adobe Frameworks für hybride Apps entwickelt. Im Prinzip handelt es sich bei einer hybriden App um einen spezialisierten Browser, der bestmöglich die Nutzererfahrung einer nativen App simuliert. Tatsächlich besteht die Anwendung aber nur aus einer Art Fensterrahmen, in den dann die Web App geladen wird. Hybride Apps werden vor allem dann verwendet, wenn im Wesentlichen Informationen wie auf einer mobilen Website dargestellt werden sollen, zugleich aber eine Präsenz in den App Stores verlangt wird. Theoretisch lassen sich hybride Apps auch als Rahmen für komplexere Webanwendungen nutzen. Solche Lösungen sind aber in der Regel wenig performant und führen zu einer schlechten User Experience, da nicht auf native Betriebssystem-Elemente zugegriffen werden kann. Aus diesem Grund werden hybride Apps etwa von der Qualitätskontrolle für Apples App Store für iOS mittlerweile immer häufiger zurückgewiesen.

Du willst deine Tätigkeit als Freelancer:in aufs nächste Level heben?

Dann komm in die Junico Community und starte direkt!

Jetzt registrieren!

Wie entwickle ich eine App? Das Fazit📌

Die Antwort lautet wie immer: Es kommt drauf an… und zwar darauf, was eure App können soll und wen ihr damit erreichen wollt. Cross-Platform Apps etwa in Flutter oder ReactNative sind in Entwicklerkreisen aktuell der letzte Schrei, stellen aber nicht immer die beste Lösung dar. Sie bieten sich vor allem bei datenbasierten Anwendungen an, die möglicherweise eine komplexe Logik implementieren müssen.

Apps, die selbst das Produkt darstellen und sich vor allem an Endanwender:innen richten, werden in der Praxis dagegen meistens nativ umgesetzt. Der Grund dafür ist, dass sie meist darauf angewiesen sind, neue Features möglichst schnell zu implementieren, um sich in ihrem Marktsegment positionieren zu können. Wer hier erst auf die Entwickler:innen des genutzten Frameworks warten muss, ist klar im Nachteil. Auch wer auf umfangreiche Hardware-Unterstützung angewiesen ist, sollte sich Gedanken über eine native Entwicklung machen. Gucke dich bei uns im Magazin auf jeden Fall weiter um, wenn du über andere Aspekte der Software-Entwicklung, wie z.B. Low Code lernen möchtest.

Web Apps oder speziell angepasste mobile Webseiten können einen guten Kompromiss darstellen, wenn das Budget nicht für die Entwicklung einer eigenen App ausreicht oder der Mehrwert den Aufwand nicht rechtfertigt. Eine Website muss meist ohnehin erstellt werden, ein paar zusätzliche Funktionalitäten und eine mobile Ansicht lassen sich meist leicht implementieren. Der fehlende Zugriff auf Hardware-Funktionen und native Schnittstellen schränkt allerdings den möglichen Funktionsumfang solcher Anwendungen stark ein. Hybride Apps leiden bei vielen Entwicklern mittlerweile unter einem schlechten Renommee und werden auch von den Kunden meist schlecht angenommen. Versprechen sie doch beim Download im App Store das User Experience einer nativen App, können dies jedoch aufgrund ihrer technischen Umsetzung nicht einlösen. Geht es in erster Linie um eine Präsenz in den App Stores für eine bereits existierende mobile Seite, stellen hybride Apps jedoch mit Abstand den preiswertesten Weg dar. Das wird Dingen wie organischer Traffic für deine App mit Sicherheit zusätzlich helfen. 

Häufig gestellte Fragen

  • Was sind Vorteile von plattformübergreifenden Apps?

    icon down

    Vorteil von Cross-Platform Lösungen ist, dass nur eine Anwendung mit einem Quellcode geschrieben und gewartet werden muss. Die Koordination mehrerer Entwicklungs-Teams fällt weg. Gängige Frameworks unterstützen viele Hard- und Software-Schnittstellen der Endgeräte, wie etwa das GPS, Bewegungssensoren oder Push-Benachrichtigungen. In vielen Anwendungsfällen kann zudem eine nahezu native Performance erreicht werden und die User Experience ähnelt einer komplett nativen Anwendung. Quasi als Bonus obendrauf unterstützen viele der Frameworks auch noch die Entwicklung von Desktop- oder Web-Anwendungen, ohne dass ein neuer Quellcode geschrieben werden muss.

  • Was sind Nachteile von plattformübergreifenden Apps?

    icon down

    Der größte Nachteil von Cross-Platform-Apps ist die Abhängigkeit vom Anbieter des Frameworks. Stellt etwa Apple für sein Betriebssystem iOS mit einem Update neue Funktionen zur Verfügung, so können diese in eurer eigenen App erst eingesetzt werden, wenn die entsprechenden Schnittstellen auch in dem von euch genutzten Framework zur Verfügung stehen. Hierdurch verzögern sich dann eure eigenen Update-Zyklen. Darüber hinaus sollte euch immer bewusst sein, dass keine Cross-Platform Lösung alle Funktionen und Schnittstellen der Zielgeräte unterstützt. Sollen diese dennoch genutzt werden, kann dies einen großen Aufwand bedeuten oder sogar unmöglich sein.

Dir hat dieser Artikel gefallen? Sag es weiter…

Finde passende Freelancer:innen

Beauftrage schnell und flexibel Freelancer:innen mit passenden Skills. Alle Freelancer:innen sind über Junico automatisch versichert.

/5

Durchschnittliche Bewertung von über 4.000 Auftraggeber:innen

Jonas

Jonas

Gastautor

Jonas arbeitet neben seinem Studium im Bereich Elektronik- und Informationstechnik nicht nur mit Nullen und Einsen, sondern auch als Zirkusartist. Zuvor hat er bereits ein duales Studium in Wirtschaftsingenieurwesen erfolgreich absolviert.

sevDesk

sevDesk hilft dir, deine Finanzen zu verstehen!

Mit Rechnungen, Belegen und Zahlungen in einem Tool kannst du deine Finanzauswertungen schnell und einfach selbst erstellen. So weißt du immer, wie es um dein Unternehmen steht. Teste sevDesk 14 Tage kostenlos. Sichere dir 50 % Rabatt auf deinen Wunschtarif.

SevDesk Visual

So findest du mit Junico
die besten Freelancer:innen

Auftrag erstellen

Erstelle kostenfrei einen Auftrag

Veröffentliche einen Auftragsgesuch mit gewünschten Skills, Arbeitsumfang und Interessen.

Profile erhalten

Erhalte geprüfte Vorschläge

Geprüfte Freelancer:innen senden dir unverbindliche Vorschläge zu deinem Gesuch und beginne den Dialog.

Zusammenarbeiten

Starte die Zusammenarbeit

Organisiere deine Freelancer:innen in deinem persönlichen Favorit:innen-Pool und starte die Zusammenarbeit mit den Besten.

Sicher Abrechnen

Rechne sicher und einfach ab

Behalte den Überblick über alle Aufwände, erhalte Rechnungen von deinen Freelancer:innen und bezahle sicher über Junico.

Wir sind Junico

Wir gestalten die neue Arbeitswelt, indem wir Freelancer:innen befähigen, mit ihren Skills die Welt zu verändern.

Expert:innen für dein Projekt

Wir verbinden euch mit Freelancer:innen, die ihr sonst nicht findet. Ob Startup oder Corporate — kleines oder großes Projekt: Passende Freelancer:innen für euch.

4,92

/5

Durchschnittliche Bewertung von über 4.000 Auftraggeber:innen

Flink Axa Scout24 Deutsche Bahn AboutYou

Wie entwickle ich eine App? Alles zur plattformübergreifenden App-Entwicklung