Was ist eine hybride App und ist das gut oder schlecht?

Wir erörtern die unterschiedlichen Entwicklungsformen von Apps und zeigen welche eigentlich was kann — und was nicht.

Wie können Apps entwickelt werden?
Es gibt drei unterschiedliche Formen der App-Entwicklung: 
native-, hybride- und Web-Apps. 
Eine hybride App ist eine Kombination aus den beiden anderen Formen. Um genauer zu erklären, was eine hybride App ist, hole ich also etwas aus und spreche erst mal über die beiden “Ur-Formen”.

Eine native App wird mithilfe von Tools und Programmiersprachen entwickelt, die von einem bestimmten Betriebssystem unterstützt werden. Android unterstützt beispielsweise typischerweise Android Studio und Java, was wiederum bedeutet, dass eine native Android App auf dieser Basis programmiert wird. iOS hingegen unterstützt Objective-C bzw. Swift und XCode — somit wird eine native iOS-App mithilfe dieser Programmiersprache und -umgebung entwickelt.
Eine native App kann also nur auf dem dafür vorgesehenen Betriebssystem laufen und wird in aller Regel im zugehörigen App-Store bereitgestellt und über diesen heruntergeladen.

Eine Web-App hingegen ist plattformübergreifend und basiert auf Web Technologien wie HTML5 oder CSS. Web-Apps können daher in allen üblichen Browsern laufen und sind nicht auf eine Plattform beschränkt. Bei einer Web-App ist es für User klar ersichtlich, dass sie sich in einer solchen befinden, da sie keine App aus dem App-Store herunterladen, sondern eine Anwendung über ihren Browser aufrufen.

Hybride Apps bilden eine Kombination aus den zuvor erläuterten App-Formen und sollen das Beste aus diesen Entwicklungsweisen vereinen. Daher „Hybrid“ — macht Sinn.

Hybride Apps basieren wie die Web-Apps auf Webtechnologien, laufen aber in einer sogenannten Container-App statt direkt im Browser. Es ist also ein Web-Inhalt verpackt in einer nativen App, die diesen Web-Inhalt wiedergeben kann. Dieses Verpacken in einem Container gibt der Anwendung die Möglichkeit auf native Funktionen und APIs des jeweiligen Betriebssystems zuzugreifen. Für den User ist der Unterschied zwischen einer nativen oder hybriden App in der Regel nicht direkt ersichtlich, da die Installation in beiden Fällen über den App-Store stattfindet.

So, nun sollte klar sein, was eine Hybride Applikation ist. Als nächstes schauen wir uns mal an, was daran nun „gut“ oder „schlecht“ ist beziehungsweise warum man sich für oder gegen diese Art der Entwicklung entscheiden kann.

Vorteile hybrider Apps

Eine App für alle Plattformen oder Betriebssysteme
Verschiedene Betriebssysteme unterstützen verschiedene Programmiersprachen. Wollen Sie Ihre App später auf mehreren Plattformen bereitstellen, müssen Sie bei einer nativen Entwicklungsweise nicht eine App entwickeln lassen, sondern eine App für iOS, eine für Android, usw. Und damit vermutlich mehrere Entwickler beauftragen (und in jedem Fall deutlich erhöhte Aufwände bei der Entwicklung in Kauf nehmen). 
Bei einer hybriden App sieht das etwas anders aus. Hier wird lediglich eine Codebasis durch (in der Regel) einen Entwickler entwickelt und diese dann auf den verschiedenen Plattformen (in den dafür vorgesehenen Containern) bereitgestellt. Hierdurch kann eine hybride App, die dann auf verschiedenen Systemen läuft zunächst einmal mit deutlich weniger Aufwand entwickelt werden als mehrere, native Apps.

Einfachere Wartung
Aus oben genanntem Vorteil ergibt sich auch ein geringerer Aufwand in der Wartung bzw. Weiterentwicklung der App, da jegliche Anpassungen nur in einem Code stattfinden.

Möglichkeit zur Nutzung erweiterter Funktionen
Es gibt einige (Geräte-)Funktionen, die mobile Browser und somit auch Web-Apps nicht unterstützen. Hierzu zählt beispielsweise der Zugriff auf das Adressbuch oder die Kommunikation über Push-Notifications. Web-Apps sind daher in ihren Funktionsweisen gegenüber den anderen beiden Formen eingeschränkt. Native Apps können auf Geräte-APIs und somit die Gerätefunktionen zugreifen und diese für sich nutzen. Auch hybride Apps können auf native Funktionen zugreifen — hier geschieht dies über entsprechende Plugins.

Nachteile hybrider Apps

Mögliche Performance-Einbuße
Eine hybride App ruft immer den Browser des Geräts auf, wobei der genutzte Container die Browser-Eigenschaften überlagert, sodass der Browser für den User nicht ersichtlich ist. Das bedeutet, dass hybride Apps immer mit dem Browser als Zwischenstelle arbeiten müssen. Demzufolge kann es hier zu verlängerten Ladezeiten bzw. einer schlechteren Performance kommen.

Abstriche in UI und UX
Native Apps werden speziell für ein einziges Betriebssystem entwickelt. Eine hybride App hingegen — und das ist ja ihr größter Vorteil — wird plattformunabhängig entwickelt. Das hat wiederum jedoch den Nachteil, dass sie sich nicht am Betriebssystem des jeweiligen Endgerätes orientieren und nicht darauf zugeschnitten sind. Das bedeutet, dass es hier zu Einschnitten im User Interface und auch der User Experience kommen kann, da Eigenheiten der verschiedenen Systeme im App-Design nur begrenzt berücksichtigt werden können.

Mögliche Einschränkungen in der Weiterentwicklung
Vorsicht ist geboten, wenn Sie planen, Ihre App längerfristig anzubieten und stetig auszubauen und mit neuen Features auszustatten. Da eine hybride Entwicklung immer nur der “gemeinsame Nenner” aus den Möglichkeiten aller Betriebssysteme sein kann, mag das für den Start noch ausreichend erscheinen. Sollten Sie jedoch eines Tages Funktionen umsetzen wollen, die nur über eine native Entwicklung möglich wären, müssten Sie spätestens dann entweder Einschränkungen in Kauf nehmen (und auf die gewünschten Funktionen verzichten) oder die Entwicklung von vorne beginnen, dann aber nativ.

Fazit

Die hybride Entwicklungsweise ist für Unternehmen interessant, die mit möglichst geringem Invest eine erste App auf den Markt bringen und dabei nicht auf die Distributionskraft der App-Stores verzichten wollen. Wenn Sie beispielsweise im ersten Schritt Ihre eigene Website auch als App verfügbar machen möchten, dann kann eine hybride App die richtige Mischung für Sie sein.

Wichtig ist immer, dass Sie sich vor einem App-Projekt fragen, was das Ziel der App ist und an welchen Punkten Sie Abstriche verkraften können. Beachten Sie dabei auch unbedingt mögliche Ausbauten in der Zukunft! Ist eine offline Nutzbarkeit nötig? Sind Performance-Einbußen akzeptierbar? Wie hoch ist das Budget und was will ich damit erreichen? … Wenn Sie sich diese Fragen beantworten, können Sie auf Basis der oben gegeben Informationen entscheiden, ob eine hybride App für Ihr individuelles App-Projekt das Richtige ist. Und wenn Sie doch noch Zweifel haben, dann sind wir bei rabbit mobile gerne Ihre Ansprechpartner!


Wer oder was ist rabbit mobile?


Ramona Peters ist Projektmanagerin bei rabbit mobile, einer Agentur für die Entwicklung digitaler Businessanwendungen mit Mobile-First-Ansatz.
rabbit mobile unterstützt seine Kunden von konzeptionell-strategischen Vorüberlegungen bis hin zur Realisierung und Pflege laufender Anwendungen, sowie deren Integration in eine bestehende Systemlandschaft.

Sie erreichen Ramona Peters hier auf Xing, hier auf LinkedIn oder:
via E-Mail: r.peters@rabbit-mobile.de
via Telefon: +49 69 256288–244