Verschiedene Arten von mobilen Apps - welche passt für mein Projekt?

25. Januar 2023 - von Michael Schranz

Erhalten wir eine Anfrage, ist die erste Aussage - wenig überraschend - oft: Wir wollen eine App entwickeln. Gemeint ist dabei fast immer eine App, die man aus dem App Store herunterlädt und auf dem Smartphone installiert. 

Bei genauerem Abklären der Bedürfnisse und Ansprüche stellt sich dann aber mitunter heraus, dass eine App aus dem App Store nicht der einzige mögliche Lösungsansatz ist. Doch was sind denn mögliche Alternativen? Wir stellen die Haupttypen von Apps vor und machen in diesem Blog einen Vergleich zwischen den verschiedenen Ansätzen inklusive deren Vor- und Nachteilen.

Form folgt Funktion - nicht nur in der Architektur

“Form folgt Funktion'' ist gemäss Wikipedia ein Gestaltungsprinzip, das mit der Architektur des späten 19. und frühen 20. Jahrhunderts in Verbindung gebracht wird und besagt, dass die Form eines Gebäudes in erster Linie mit der beabsichtigten Funktion oder dem beabsichtigten Zweck in Zusammenhang stehen sollte. Genauso sehen wir bei Apps with love die Technologiewahl, also die Auswahl des sogenannten Tech-Stack an. Vor mehreren Jahren haben wir uns entschieden, nebst nativen Apps auch Web-Apps und Progressive Web-Apps (PWAs) und in Ausnahmefällen auch Cross-Plattform Apps anzubieten, damit wir unseren Kund*innen nicht einfach nur eine Art von mobiler App, sondern eben genau die optimale Lösung für das jeweilige Projekt anbieten können. Für uns ist eine technologieneutrale Herangehensweise wichtig und wird gleichermassen von unserer Kundschaft geschätzt. Welche Technologie für ein Vorhaben die beste Option ist, kommt auf verschiedene Faktoren wie Funktionalität, Komplexität, Anwendungsfall und Kontext, Zielgruppe und Zielmärkte, zeitliche und finanzielle Ressourcen, geplante Einsatzdauer des Produkts und so weiter an. Jede Art einer mobilen App hat ihre Vor- und Nachteile. Wichtig ist eben genau der initial beschriebene Grundsatz, dass die Form der Funktion folgt und nicht umgekehrt. 

Welche Arten von mobilen Apps gibt es?

Initial im Rahmen unserer Zusammenarbeit mit Carpathia für die Erarbeitung des B2B-Monitors 2022, haben wir unsere Entwicklerinnen und Entwickler gefragt, welche Haupttypen von mobilen Apps es gibt und was diese ausmacht. Hier nun die etwas ausführlichen Aussagen und Statements von Yannick, Raphael, Carra und Sophia. 

Native Apps

Yannick Pulver ist Technical Lead Android Entwicklung bei Apps with love und erklärt, was eine native App ist:

Yannick Pulver

Eine native App ist ein Softwareprogramm, das spezifisch für die Verwendung auf einer bestimmten Plattform entwickelt wurde.
Da eine native Anwendung für ein bestimmtes Betriebssystem (auch OS von Operating System genannt) entwickelt wird, kann sie das Maximum an gerätespezifischer Hardware und Software nutzen. Native Anwendungen bieten höchstmögliche Performance, indem sie mit dem Betriebssystem des Gerätes auf eine optimale Art und Weise zusammenarbeiten, was ihnen ermöglicht, schneller und flexibler zu arbeiten als alternative Anwendungstypen. Dies hat natürlich einen positiven Einfluss auf das Nutzungserlebnis (UX) einer App. Der Nachteil von nativen Apps ist, dass für jedes Betriebssystem eine separate App entwickelt werden muss. Beispielsweise schreiben Entwickler iOS-Anwendungen in Swift, während sie Android Apps in Kotlin programmieren.

Yannick Pulver, Technical Lead Android Development

Cross-Plattform App

Raphael Neuenschwander ist iOS- und Cross-Plattform Entwickler bei Apps with love und erklärt den Begriff Cross-Plattform App:

Raphael Neuenschwander

Eine Option für die Entwicklung von Apps ist die Wahl von Cross-Plattform-Technologien wie React Native oder Flutter. Hierbei wird eine Applikation in einer zwischengeschalteten Programmiersprache entwickelt, die nicht zum Betriebssystem des Geräts gehört, sondern später mithilfe eines Frameworks für das jeweilige Betriebssystem kompiliert werden kann. Der Vorteil hierbei ist, dass damit grosse Teile des Codes nur einmal geschrieben werden müssen. Gewisse sehr plattformspezifische Funktionalitäten müssen jedoch auch bei solchen Frameworks in vielen Fällen für beide Plattformen separat programmiert werden. Was dann dazu führt, dass am Ende doch zwei oder sogar drei Codes und nicht nur einer besteht. Ein gewisser Nachteil oder ein gewisses Risiko im Vergleich zur nativen Entwicklung besteht darin, dass eine Abhängigkeit zur Cross-Plattform Lösung entsteht. Wenn die Plattformen neue Funktionen bereitstellen, muss das Cross-Plattform Framework diese zuerst einführen, bevor man sie als Entwickler*in dann auch nutzen kann.

Raphael Neuenschwander, iOS & Cross-Plattform Entwickler

Progressive Web-Apps

Sophia Villiger, Web-Entwicklerin bei Apps with love erklärt, was eine PWA ist:

Sophia Villiger

Eine Progressive Web-App (PWA) ist eine Web-App, die einzelne Merkmale einer nativen App besitzt. Es handelt sich also quasi um eine Mischform: PWAs sind zwar webbasiert, können aber einige Dinge die sonst native und Cross-Plattform Apps vorbehalten sind. PWAs werden aber wie klassische Webseiten oder Web-Apps über den Browser aufgerufen. Durch ein sogenanntes Web-App Manifest, das Metadaten der Anwendung enthält, kann die PWA auf einem mobilen Endgerät installiert werden. Mittels eines Service Workers, der als Proxy zwischen Browser und Server fungiert, können von modernen Browsern zur Verfügung gestellte Funktionen genutzt werden. Dies ermöglicht etwa die offline Nutzung der PWA oder das Empfangen von Push-Benachrichtigungen. Der progressive Teil ist dabei wichtig zu verstehen: Nicht alle Betriebssysteme und Browser unterstützen alle PWA-Features - daher kommt auch das “Progressive” in PWA.

Sophia Villiger, Web-Entwicklerin

Hybrid-Apps

Carra Tillon, Web-Entwicklerin bei Apps with love erklärt, was man unter hybriden Apps versteht:

Carra Tillon

Hybride Apps sind im Grunde genommen Apps, die Webinhalte innerhalb einer mobilen App enthalten. In der extremsten Form wären dies praktisch reine Web-Apps, die in einen nativen App-Container oder sogenanntem Wrapper eingebettet wurden. Andererseits handelt es sich auch um native Apps oder plattformübergreifende Apps, die Webinhalte anzeigen. Da dies heutzutage bei extrem vielen Apps der Fall ist, verliert der Begriff "Hybrid-App" sozusagen ein wenig seine Berechtigung. Sobald hybride Apps aus einem App-Store heruntergeladen und lokal installiert wurden, können Webinhalte oder ganze Funktionen über einen in die App eingebetteten Browser mit den Funktionen und Inhalten verbunden werden, die dann den Endnutzer*innen in ihren Smartphone-Apps zur Verfügung stehen. Klassischer Anwendungsfall sind News Apps.

Carra Tillon, Web-Entwicklerin

Beispiel einer nativen App: Pestalozzi Haustech
Beispiel einer Flutter (Cross Plattform) App: Startfeld
Beispiel einer Hybriden App: Denner
Beispiel einer PWA: Herbstmesse Basel

Funktionale und nicht-funktionale Anforderungen als Basis für den Technologie-Entscheid

Für den mobilen Auftritt gibt es also verschiedene Möglichkeiten: Die wohl einfachste davon ist eine Website mit responsivem Design, welche auch für mobile Endgeräte nutzbar ist. Responsives Design ist inzwischen Standard und wird von Nutzenden genauso wie von Google für ein anständiges Ranking in den Suchresultaten erwartet. Organisationen, welche sich jedoch stärker auf die mobile Zielgruppe ausrichten möchten, gehen einen Schritt weiter und setzen auf eine der vorher beschriebenen Arten von Apps, welche mehr Möglichkeiten für ein gutes Nutzungserlebnis, erweiterte Funktionalitäten, eine höhere Performance und Usability für die Smartphone User*innen bieten.

Damit die optimale Technologie für das eigene Projekt respektive das digitale Produkt gewählt werden kann, ist es absolut wichtig, in einem ersten Schritt die funktionalen und nicht-funktionalen Anforderungen zu eruieren. Dieser Prozess nennt sich auch Requirements Engineering und umfasst die Definition, Dokumentation und schliesslich auch die Pflege von Anforderungen an ein System, Produkt oder Software. Dafür gibt es verschiedene methodische Ansätze wie zum Beispiel das Story Mapping. Wie das funktioniert haben wir im Blogbeitrag “Mit User Story Mapping Anforderungen visualisieren und gemeinsames Verständnis schaffen” beschrieben.

Vollständige User Story Map
Mittels User Story Mapping werden die Anforderungen an eine digitale Lösung definiert

Was sind funktionale und nicht-funktionale Anforderungen?

Funktionale Anforderungen beschreiben, was ein System, eine Software oder ein Produkt können muss. Beispielsweise, dass User*innen eines Shops eine Übersicht über ihre getätigten Käufe sehen können. Nicht-funktionale Anforderungen hingegen beschreiben die Qualität, in welcher die geforderte Funktionalität zu erbringen ist. Beispielsweise, dass das System nicht länger als x Sekunden haben darf, um diese Übersicht anzuzeigen.

In vielen Fällen ist es für nicht IT-Spezialist*innen sehr schwierig, solche Anforderungen sauber, genügend detailliert und für die Tech-Welt verständlich zu beschreiben. Deshalb helfen wir in vielen Fällen im Rahmen von Discovery- und Requirements Engineering Workshops, genau diese nötigen Vorarbeiten durchzuführen, damit eine saubere Grundlage für die Wahl der Tech-Stacks und für die künftige Umsetzung besteht.
Die Basis für die optimale Technologiewahl sind also die aktuellen und zukünftigen funktionalen und nicht-funktionalen Anforderungen an ein digitales Produkt. 

Web-App, Cross-Plattform App, native App, PWA – eine Übersicht über Vor- und Nachteile

Erst nachdem die wichtigsten Anforderungen erhoben und dokumentiert wurden, kann also ein fundierter Entscheid für die beste Art von App gefällt werden. Da, wie oben beschrieben, die verschiedenen Arten von mobilen Apps auf unterschiedlichen Technologien basieren, bringen sie auch unterschiedliche Vor- und Nachteile mit sich. Diese sind im Entscheidungsprozess ausgehend von den jeweiligen Bedürfnissen und Anforderungen an die gewünschte Lösung gegeneinander abzuwägen.

Bemerkung zu Web-App versus PWA

In der nachfolgenden Tabelle wurde absichtlich der Begriff PWA verwendet, da Progressive Web-Apps erweiterte Möglichkeiten für die mobile Nutzung bieten als reine responsive Webseiten oder Web-Applikationen. Da wir auf dieser Tabelle einen klaren Fokus auf die Möglichkeiten der verschiedenen Technologieansätze für die Nutzung auf dem Smartphone (mobile Apps) legen, gehen wir bei der Bewertung der PWAs davon aus, dass das Maximum an Möglichkeiten ausgeschöpft wird. Mehr über PWAs und deren Möglichkeiten haben wir in einer Blogserie beschrieben. Im zweiten Blogbeitrag dieser Serie:  PWA Teil 2: Möglichkeiten, Grenzen und Stärken gehen wir näher auf dieses Thema ein. 

Vergleich von Vor- und Nachteilen verschiedener mobile Apps

Disclaimer

Die Angaben in der Tabelle sind natürlich eine Vereinfachung der Realität und bilden lediglich Tendenzen ab. Vieles, wenn nicht fast alles ist mit unterschiedlichen Technologien möglich - es stellt sich aber die Frage nach den Ansprüchen, Aufwänden und Abhängigkeiten. Auch könnte man bei vielen Angaben ein “Ja, aber” oder “Nein, aber” hinzufügen - der Teufel steckt wie so oft im Detail. Genau dieser Aspekt ist auch der Grund, wieso Anforderungen und die Pro- und Contras für die eine oder andere Lösung zu Beginn eines Vorhabens so genau geprüft werden müssen.

Sonderkategorie: Dezentrale Anwendungen aka dApps

Eine Art Sonderkategorie sind dezentrale Applikationen, sogenannte dApps. dApps laufen mit dezentraler Ledger-Technologie wie z.B. der Blockchain. Das bedeutet, dass Daten wie beispielsweise Transaktionen einer mobilen Crypto-Wallet in einem Netzwerk von Computern verteilt sind. Dieses Netzwerk fungiert als Backend und liegt ausserhalb der Kontrolle einer einzelnen Behörde oder Organisation.
dApps können für verschiedene Zwecke entwickelt werden. Wenn sie gut implementiert sind, bieten dApps Vorteile wie mehr Datenschutz und Anonymität für die Endnutzer*innen, keine Zensur und ein geringeres Risiko von Ausfallzeiten aufgrund des dezentralen Backends zur Speicherung von Daten. Allerdings können Herausforderungen auftreten, wie z.B. Skalierbarkeit oder die Veröffentlichung in den App-Stores. 

dApps können in Form aller vorgestellten App-Typen entwickelt werden, als PWAs, native Apps oder mit einem plattformübergreifenden Framework wie Flutter. Der Hauptunterschied liegt in der Backend-Architektur: Blockchain anstelle einer zentralen Datenbank. Es gilt zu erwähnen, dass es natürlich auch möglich ist, eine ähnliche Backend-Architektur (Peer-to-Peer Network) zu erstellen, ohne die Blockchain-Technologie zu verwenden. In Bezug auf das Frontend-Design und die Entwicklung dürfte der wichtigste Unterschied zwischen einer "normalen" App und dApps darin bestehen, dass sich die Nutzer*innen über ihre Web3-Identität einloggen können. D.h. sie melden sich mit ihren Wallet-Zugangsdaten (öffentlicher und privater Schlüssel) anstelle von E-Mail und Passwort an. 

Zwei Fallbeispiele von dApps, die wir mit Flutter erstellt haben, gibt es hier zu lesen: 

Diese Art von Anwendung wird derzeit oft diskutiert und immer mehr davon werden für verschiedene Anwendungsfälle entwickelt. Ob sie wirklich als die nächste Evolution von Apps oder "Apps 2.0" betrachtet werden können, wird erst die Zukunft zeigen. Mehr über dApps haben wir im folgenden Blogpost über Blockchain und dezentrale Anwendungen (dApps) geschrieben.

Fazit zur Wahl der optimalen App Technologie

Der Vergleich der verschiedenen App Technologien veranschaulicht, dass es auf mehrere Faktoren ankommt, welche Technologie in welchem Fall die Richtige ist. Projekte sollten möglichst technologieneutral angegangen werden. Erst wenn Business-Ziele, funktionale und nicht-funktionale Anforderungen, Nutzungskontext, Budget und viele weitere Fragen geklärt sind, kann eine fundierte Entscheidung über die optimale Technologie getroffen werden.

Aufgrund der sehr raschen und dynamischen Entwicklung im Markt stellt diese Tabelle zwar ein heute aktuelles Instrument zur Technologiewahl für anstehende Projekte dar, jedoch sollte immer auch auf neueste Marktentwicklungen und allfällige Änderungen in Bezug auf die Möglichkeiten geachtet werden. 
Die Antwort auf die oft gestellte Frage “welche Technologie passt am besten zu meinem Projekt?” ist dementsprechend: Es kommt darauf an, welche Ziele, Detailanforderungen und Rahmenbedingungen existieren.

Hast du eine Projektidee und bist unsicher, welche Technologie sich dafür am besten eignen würde? Melde dich bei uns. Wir helfen dir, herauszufinden, mit welcher Technologie du auf bestem Weg zur gewünschten Lösung kommst.

Wir haben grad gemerkt, dass du mit Internet Explorer surfst. Unsere Webseite sieht damit leider nicht so schön aus.

Du willst erfahren warum das so ist?
Wir haben darüber geschrieben.

Zum Blog

Du brauchst Hilfe bei der Umstellung?
Melde dich. Wir helfen gern.

Kontakt

Einen neuen Browser installieren?
Hier gibt es Auswahl.

Browser