Häufige Fragen rund um Apps

was ist eine Webapp?

Eine Web App ist eine Art von Anwendungssoftware, die auf einem Server gehostet und betrieben wird und auf die der Nutzer mittels Webbrowser zugreifen kann.

Web Apps benötigen keine Installation. Sie basieren auf Webstandards wie HTML, CSS und Javascript, so dass sie auf beliebigen Endgeräten unabhängig von deren Betriebssystem genutzt werden können.

Im Unterschied zu einer Website kann der User in einer Webapplikation auch Daten verändern. Die Nutzung einer Web App ist in der Regel nur nach einer Anmeldung möglich.

Mobile Web-Apps können nicht in App Stores veröffentlicht werden. Aus diesem Grund gibt es sog. Website-in-App Konverter, die aus einer mobilen Web App eine native App machen. In dieser nativen App ist eine Browser-Komponente enthalten, die die Inhalte der Web App anzeigt. Im Apple Store dürfen solche konvertierten Anwendungen jedoch nicht mehr veröffentlicht werden, da sie keinen Mehrwert gegenüber den zugrundeliegenden Web Apps bieten und damit einen Verstoß gegen die Nutzungsrichtlinien von Apple darstellen.

was ist eine PWA?

PWA steht für Progressive Web Application. PWAs verbinden die Vorteile aus einer Website mit denen einer App: Sie können wie jede normale Website im Browser aufgerufen werden und lassen sich darüber hinaus auch ohne den Umweg über einen App-Store lokal installieren.

Die Entwicklung einer Progressive Web App ist von allen Varianten der Entwicklung einer App am preisgünstigsten. Wie bei einer Website gibt es nur eine zentrale Codebasis und daraus resultiert der geringste Programmieraufwand für die verschiedensten Geräte und Betriebssysteme. Darüber hinaus erspart man sich den nicht unerheblichen Aufwand für die Distribution und Veröffentlichung seiner App in den verschiedenen App-Stores.

Dieser Vorteil kann aber gleichzeitig auch ein Nachteil sein: eine PWA kann nicht im App Store vermarktet werden, sondern statt dessen muss sie z.B. auf der eigenen Unternehmens-Website verlinkt und dort zum Download angeboten werden. Der zusätzliche Vermarktungskanal der App Stores entfällt damit und viele Nutzer wissen bis heute nicht, dass sich Anwendungen (PWAs) auch außerhalb von App Stores auf ihrem Smartphone installieren lassen.

PWAs können auf Smartphones, Tablets oder Desktops installieren werden und funktionieren, einmal installiert, danach auch offline.

Mittlerweile können viele Funktionen wie Offline-Fähigkeit (Funktionsfähigkeit ohne aktive Internetverbindung), Hintergrundprozesse, Zugriff auf Geräte-Funktionen wie Kamera und Sensoren oder die Verwendung von Push-Nachrichten (bisher nur in Android), die früher nativen Apps vorbehalten waren, auch mit PWAs umgesetzt werden. Gerade Apple behandelte die Bereitstellung neuer Funktionen für PWAs im Safari-Browser für mobile Geräte jedoch oft etwas stiefmütterlich und viele Möglichkeiten der PWAs stehen erst in neueren Versionen ihres Betriebssystems iOS zur Verfügung.

In-App-Käufe, die über den App Store abgewickelt werden, sind naturgemäß in einer PWA nicht möglich, da diese nicht über einen App Store vertrieben werden. Kaufprozesse müssten statt dessen selbst mit einem passenden E-Commerce-Framework und geeigneten Zahlungsanbietern umgesetzt werden. Dafür fallen dann aber auch keinerlei Provisionen für die App Store Betreiber an.

Updates der App können sehr einfach durchgeführt werden, indem eine neue Version auf dem Server ausgerollt wird, die automatisch von allen installierten Clients heruntergeladen wird.

Das ist aber gerade bei Applikationen im Unternehmenseinsatz, z.B. für Außendienstmitarbeiter, überhaupt kein Problem, denn diesen kann man genaue Anweisungen geben, wie sie die Anwendungen zu installieren haben. Hier spielt eine PWA wieder ihren großen Vorteil der problemlosen serverseitigen Updatefähigkeit aus.

was ist eine native App?

Native Apps werden speziell für ein Betriebssystem entwickelt. In der Regel spricht man bei nativen Apps von Anwendungen, die entweder für Apples Betriebssystem iOS oder für Googles Betriebssystem Android entwickelt wurden. Auch für das Windows Phone können Apps mit C#, Silverlight oder XNA erstellt werden.

Native Apps sind von der Performance und Benutzererfahrung her allen anderen App-Technologien überlegen, da sie immer auch für ihr Betriebssystem optimiert sind. Sie sind aber auch am komplexesten umzusetzen und am damit teuersten, da für jedes Betriebssystem eine separate Codebasis erstellt werden muss und spezialisierte Experten für die jeweiligen Betriebssysteme die Programmierung übernehmen müssen.

Bei Anwendungen für das iPhone mit dem Betriebssystem iOS wird Apples Entwicklungsumgebung xCode genutzt und die App in der Programmiersprache Objective-C/Cocoa erstellt.

Anwendungen für Googles Betriebssystem Android werden mit Java erstellt, genutzt wird dafür normalerweise die Entwicklungsumgebung Android Studio von Google.

Sobald eine App für mehrere Betriebssysteme umgesetzt werden soll, wird die Entwicklung als native App im Vergleich zu den anderen App Technologien aufwändiger und teuerer, denn durch die verschiedenen Programmiersprachen können praktisch keine Programmteile für mehrere Betriebssysteme wiederverwendet werden und man hat praktisch für jedes System den selben Entwicklungsaufwand.

Dafür kann man in einer nativen App aber auf sämtliche Sensoren und Funktionen des Geräts zugreifen und kann Apps im Look & Feel der originalen Apps des jeweiligen Betriebssystems erstellen, die nicht nur "so aussehen wie", sondern sich exakt so verhalten wie die im Betriebssystem enthaltenen Apps.

Besonders bei komplexen Anforderungen an eine App, die eine besonders hohe Performance und die Nutzung vieler Funktionen des Geräts verlangen, wird man auf die native Entwicklung zurückgreifen.

Für einen Großteil der Applikationen, gerade im B2B-Bereich, ist aber vermutlich die Umsetzung mittels hybrider oder compilierter App der kosteneffizientere und schnellere Weg, die App auf vielen Betriebssystemen auszurollen.

was ist eine hybride App?

Die eigentliche Funktionalität der App wird bei hybriden App auf Basis von Webtechnologien, d.h. Javascript, CSS3, WebGL und HTML umgesetzt.

Bei hybriden Apps gibt es für alle Betriebssysteme eine einzige gemeinsame Codebasis und die App ist lauffähig auf iOS, Android, Windows und auf Wunsch auch im Browser auf einem gewöhnlichen PC oder Notebook mit Windows, macOS oder einem Linux-Betriebssystem.

Mit der Umsetzung als hybride App kann man also effektiv Kosten sparen und die Entwicklungszeiten drastisch reduzieren.

Zur Umsetzung hybrider Apps werden Frameworks wie Ionic, Apache Cordova und PhoneGap genutzt. Diese Frameworks ermöglichen auch den Zugriff auf zahlreiche Gerätesensoren wie Kamera, GPS-Modul zur Standortbestimmung usw.

Technologisch erstellen diese Frameworks eine native App als Gerüst um eine Webview, innerhalb derer die eigentliche Anwendung läuft. Die Webview kann man sich wie einen Browser vorstellen, der innerhalb der Anwendung läuft. Die UI-Elemente der Anwendung werden mit Webtechnologien erstellt und simulieren je nach Framework die UI-Elemente, die vom Betriebssystem zur Verfügung gestellt werden. Sie sind aber aufgrund des technologischen Überbaus niemals so schnell und reaktiv wie die nativen UI-Elemente.

Innerhalb dieser Webview werden viele, aber nicht alle Funktionen der neuesten marktführenden mobilen Browser wie Safari, Chrome und Firefox unterstützt. So ist beispielsweise die Implementierung eines Videochats auf Basis von webRTC nicht ohne weiteres innerhalb einer Webview zu realisieren, da nicht alle Webviews diesen Standard unterstützen.

Aktualisierungen der App müssen über die App Stores erfolgen.

Eine hybride App stellt die kostengünstigste und in der Regel schnellste Lösung für eine plattformübergreifende Lösung mit Veröffentlichung in den Stores dar, die sogar als Web App auf dem Desktop genutzt werden kann. 
Für Apps, bei denen es sehr auf Performance ankommt, ist dieser technologische Ansatz in der Regel aber nicht geeignet.

was ist eine Cross-Platform App?

Statt mit Webtechnologien wie HTML 5 lassen sich plattformunabhängige Apps auch mit eigenen Frameworks wie React Native von Facebook, Flutter von Google oder Xamarin von Microsoft umsetzen. In diesen Frameworks wird eine gemeinsame Codebasis in einer einheitlichen Programmiersprache für alle Plattformen geschrieben und diese werden vom Framework dann automatisch zu nativem, plattformabhängigem Code übersetzt.

Die daraus resultierenden Apps sind plattformunabhängig, fühlen sich aber wie native Apps an.

Bei React Native wird als Programmiersprache Javascript verwendet, so dass die Entwicklung von Apps mit diesem Framework auch für diejenigen Entwickler vertraut anfühlt, die üblicherweise Websites in Verbindung mit React erstellen.

Flutter hingegen verwendet eine eigene Programmiersprache mit dem Namen Dart, die ausschließlich in Flutter Verwendung findet.

Das von Microsoft entwickelte Framework Xamarin ermöglicht die Erstellung von plattformunabhängigen Apps mit der Programmiersprache C# und dem .NET Framework, das Entwicklern der Microsoft Welt geläufig ist.

Diese Frameworks ermöglichen es auch, auf einen Großteil der nativen Features wie Push-Nachrichten und GPS Lokalisierung zuzugreifen, so dass sich die damit erstellten Anwendungen kaum von nativen Apps unterscheiden und gerade auf modernen, leistungsfähigen Smartphones fühlen sich die Cross-Platform-Apps auch ähnlich schnell und performant an.

Unzählig viele Funktionalitäten lassen sich durch Einbindung von Plugins und Bibliotheken nutzen. Im Falle von Updates der Betriebssysteme der unterstützten Plattformen können hier auch Anpassungen notwendig werden und es kann zeitweise zu Inkompatibilitäten kommen. Von daher sollte man darauf achten, dass eine ausreichend große Entwickler-Community mit hoher Aktivität hinter den eingesetzten Bibliotheken steht.

Mit diesen Frameworks ist es mit gewissen Einschränkungen auch möglich, eine Variante als PWA für die Nutzung im Browser zu generieren. Die Tücke steckt hier oft im Detail und man kann sagen, dass die automatische Generierung für viele verschiedene Plattformen umso schwieriger wird, je komplexer und individueller die UI-Komponenten werden, die man in seiner App verwenden möchte.

Cross Platform Apps lassen sich für mehr als eine Plattform schneller entwickeln als native Apps. Daher eignen sich Cross Platform Apps auch besonders gut, um Prototypen zu erstellen und schnell und kontinuierlich sichtbare und wertschöpfende Ergebnisse zu liefern oder einen Proof-of-Concept zu liefern.

Auch bezüglich des Betriebs und der Wartung sind Cross Platform Apps meistens günstiger als native Apps.

SIE SUCHEN EINE AGENTUR FÜR IHR app PROJEKT?

Dann sollten Sie sitegeist kennenlernen! Wir bieten Ihnen Betreuung von der Idee bis hin zur fertigen und 100% individuellen App.

Rufen Sie uns an unter +49 40 32 81 93 0 oder schreiben Sie uns. 

Wir sind gespannt auf Ihr Problem.