Hybride App-Entwicklung – Der Status quo

Der hybride Entwicklungsansatz erfreut sich immer größerer Beliebtheit. Denn in den letzten Jahren haben Hybrid-Apps einen großen technischen Sprung nach vorn gemacht und können immer besser mit den nativen Varianten mithalten. Welche Vorteile die hybride App mit sich bringt und welche Fortschritte der vergangenen Jahre zum besseren Einsatz geführt haben, zeigt der folgende Artikel.

Hybrid-App – Was ist das überhaupt?

Während native Apps speziell für eine bestimmte Plattform (iOS, Android, Windows) mit der jeweiligen Programmiersprache entwickelt werden, handelt es sich bei einer hybriden App im Grunde um eine Webseite, die in einem nativen Container verpackt wird. Die App wird in einem Vollbild-Browser geöffnet und der Nutzer erkennt keinen Unterschied zu einer “echten” App, da das Browser-Fenster ausgeblendet wird. Für die Programmierung von hybriden Apps bedarf es nur einer Codebasis. Diese basiert auf Web-Technologien wie JavaScript, HTML5 und CSS3. Über Frameworks wie Ionic und Cordova ist es möglich Plugins zu verwenden, die die Hardware der Geräte (Kamera, Kompass) oder integrierte Programme (z.B. Kalender, Kontakte) ansteuern können. Hybrid-Apps können über die App Stores von Android und Apple vertrieben werden. Zusätzlich besteht die Möglichkeit dem Endnutzer eine Web-App und Desktop-App zur Verfügung zu stellen.

 

Fortschritte der App-Entwicklung

Mobile Anwendungen (engl. Application, kurz App) sind aus unserem Alltag nicht mehr wegzudenken und ein wichtiger Bestandteil unseres heutigen Lebens. Wir chatten mit den Freunden, bestellen Pizza oder buchen Hotelzimmer und Flüge. Dabei war diese Entwicklung schwer vorzustellen, als die ersten Handys und später Smartphones auf den Markt kamen. Die ersten Handys verfügten bereits über einfache integrierte Anwendungen wie ein Adressbuch. Besonders Ende der 90er und Anfang der 2000er stieg die Nachfrage nach neuen Anwendungen. Der folgende Zeitstrahl gibt einen guten Überblick zu den Meilensteinen der App-Entwicklung.

 

Infografik zu den Meilensteinen der App-Entwicklung

 

Gut zu erkennen ist, dass vor allem Apple schnell seinen Fokus auf die native Entwicklung legte, da ein besseres Nutzererlebnis angenommen wurde. Da sich iOS und Android (kurzzeitig auch Blackberry und Windows) als Betriebssysteme auf dem Markt anfingen durchzusetzen, machten sich auch die ersten Herausforderungen für die Drittanbieter von Apps bemerkbar. Für jedes System musste eine eigene Codebasis entwickelt werden, wenn ein breiterer Nutzerkreis angesprochen werden sollte.

 

Die hybride App holt auf

HTML dient seit den frühen 1990er als Grundlage des World Wide Web. Zusammen mit CSS und JavaScript können Web Browser den Code interpretieren und in visuelle Seiten übersetzen. Da Hybrid-Apps über eine WebView (eine Art Mini-Browser mit nativer Hülle) geöffnet werden, werden die gleichen Technologien für die Entwicklung angewandt. In den frühen 2000ern kam HTML an seine Grenzen und Entwickler hatten Schwierigkeiten die interaktiven Multimedia-Inhalte flüssig darzustellen. Es musste immer mehr auf Plugins zurückgegriffen werden. HTML wurde weiterentwickelt und 2008, also ein Jahr nach dem Launch des Apple App Store, wird der erste Entwurf von HTML5 veröffentlicht. Neue Code-Elemente erlauben die reibungslose Wiedergabe von Inhalten wie Videos. Mit PhoneGap, 2009 als Cordova entwickelt, wird ein Framework bereitgestellt, mit dem es möglich ist, mobile Apps mit Web-Technologien zu programmieren. Das Framework verpackt die Web-Apps in einen nativen Container und ermöglicht so die Nutzung der App Stores.

Durch die Nutzung der WebView war das User Interface zu Beginn selten konsistent. Besonders Android-Geräte waren davon betroffen, da es hier viele verschiedene Anbieter gab. 2013 kam mit der Android-Version 4.4 eine große und wichtige Verbesserung: die Chromium-basierte Web-View wurde eingeführt. Chromium ist auf den Geräten vorinstalliert und wird seit der Version 5.0 automatisch über den Playstore geupdatet. iOS gestaltete sich in dieser Hinsicht weitaus einfacher, da Safari für die WebView genutzt wurde.

Die verbesserte Leistung der Smartphones, welche mit leistungsfähigeren Prozessoren und robusteren Betriebssystemen mit Desktop-Rechnern vergleichbar werden, trägt ebenfalls zu der besseren Akzeptanz von hybriden Apps bei. Die Anwendungen laufen flüssiger und dank Plugins kann die native Hardware und Software angesteuert werden. Die bessere Performance sprach ursprünglich für die Entwicklung von nativen Apps. Mittlerweile können die meisten Apps als hybride Anwendungen entwickelt werden.

 

Technologien der hybriden App-Entwicklung

Aktuell sind vier Technologien am beliebtesten bei der Umsetzung von hybriden Apps: Ionic, React Native, NativeScript und Xamarin.

Ionic, ein Open Source Software Development Kit, bietet dabei die beste Möglichkeit, die meisten Plattformen mit einer Codebasis zu erreichen. Ionic wird mit Angular aufgesetzt und über das Framework Cordova werden die Apps in ihre native Hülle verpackt. Zahlreiche Plugins ermöglichen den Zugriff auf native Funktionen und Software. Mit Angular, welches von Google unterstützt wird, können Hybrid-Apps für fast alle Anwendungsfälle performant entwickelt werden. Auch die Möglichkeit von anspruchsvollen VR-Integrationen funktioniert erstaunlich gut. Einschränkungen gibt es lediglich bei der Umsetzung von 3D-Renderings und grafisch sehr aufwändigen Spielen. Die Open Source-Eigenschaft von Ionic bringt enorme Vorteile mit sich. Fast 140.000 Nutzer, Tendenz steigend, beteiligen sich an der Community und treiben so zum Beispiel die Entwicklung von neuen Plugins voran. Hybride Apps, welche mit Ionic programmiert werden, können leicht an die nativen User Interfaces angepasst werden. Der Endnutzer findet die gewohnte Bedienoberfläche vor, wodurch die Nutzung der App sofort intuitiv ist. Es können Web-Apps, mobile Apps und progressive Web-Apps auf gleicher Codebasis entwickelt werden.

Desktop App Electron

Ein weiterer Vorteil der hybriden Entwicklung kam mit dem Framework Electron dazu, mit dem Desktop-Apps umgesetzt werden. Electron verfolgt dabei den Cross-Plattform-Ansatz und die Apps sind für Mac-, Windows- und Linux-Betriebssysteme einsetzbar. Der Nutzer lädt sich die App herunter und findet das vertraute Icon auf dem Desktop wieder. Updates werden automatisch eingespielt, die Menüführung ist an die Plattform angepasst und Notifications können angezeigt werden. Bekannte Namen wie Skype, Slack und WhatsApp nutzen bereits die Vorteile von Electron und der Desktop-App.

 

 

Die Vorteile der Hybrid-App

Hybrid-Apps bringen einige Vorteile mit sich. Da nur mit einer Codebasis gearbeitet wird, ist die Entwicklung, auch wenn verschieden Plattformen bedient werden sollen, oft schneller als der native Ansatz. Die Wartung und Weiterentwicklung gestaltet sich deshalb ebenfalls leichter und spart Kosten. Zudem lässt sich leichter Personal finden. Unter Entwicklern sind Web-basierte Programmiersprachen weiter verbreitet, als die speziellen Technologien für die einzelnen Plattformen (Swift/Objective-C für iOS, Java/Kotlin für Android).

Bekannte Unternehmen wie Twitter, Uber oder Evernote setzen bereits auf den hybriden Entwicklungsansatz. Pinterest ist wohl eines der bekanntest Unternehmen, welches eine hybride App bereitstellt. Instagram und Airbnb werden zwar nativ entwickelt, jedoch werden einige hybride Features in den nativen Code integriert.

 

Ausblick auf die Zukunft

Die Historie der mobilen Apps zeigt, wie schnell die Entwicklung allein in den letzten zehn Jahren vorangeschritten ist. In immer mehr Lebensbereichen finden mobile Apps Einzug und sind nicht mehr nur auf Smartphones beschränkt. In der Medizin, Industrie oder auch im Alltag mit dem Internet of Things und Wearables werden ständige weitere Bereiche digitalisiert und müssen angesteuert werden. Web-basierte Technologien werden meist als Grundlage genutzt, da das benötigte Wissen bereits vorhanden ist. Das Beispiel der Desktop-Apps zeigt, dass die hybride Entwicklung oft besser ausgestattet ist, um auf neue Einsatzgebiete schneller zu reagieren.