Entwicklung mobiler Apps nach PhoneGap und Cordova

Todd Anglin ist Vice President für Produktstrategie und Entwicklerbeziehungen bei Progress.

Seit fast einem Jahrzehnt bietet PhoneGap Webentwicklern einen reibungslosen Pfad für die Erstellung mobiler Apps, die Zugriff auf native Gerätefunktionen haben. PhoneGap ermöglicht es vielen Entwicklern, Apps für iOS und Android (und zeitweise sogar für Windows Phone und BlackBerry) mithilfe von Fähigkeiten und JavaScript-Bibliotheken zu erstellen, die sie bereits kennen und lieben. Diese Kombination aus Web-Kenntnissen und nativem Gerätezugriff (allgemein als „Hybrid“ bezeichnet) ist als einer der wichtigsten Ansätze für die Entwicklung mobiler Apps fest verankert.

Wie geht es nun mit der Entwicklung von Hybrid-Mobilgeräten weiter, da die Arbeit an der Weiterentwicklung von PhoneGap (und dem damit verbundenen Open-Source-Projekt Apache Cordova) langsamer wird?

Offensichtlich wird Apache Cordova als Open-Source-Projekt nicht so schnell verschwinden. Viele Unternehmen haben große Investitionen in Cordova getätigt, und die Cordova-Community füllt weiterhin Lücken, da die Unternehmensverpflichtungen immer weiter zunehmen.

Aber PhoneGap war ein Projekt, das mit der ausdrücklichen Absicht erstellt wurde, irgendwann obsolet zu werden, und dieser Moment könnte auf uns zukommen.

Im Laufe der letzten 10 Jahre haben sich zwei wohl überlegene Optionen herausgebildet, die bereit sind, PhoneGap und „Hybrid 1.0“ zu ersetzen. Dies sind progressive Web-Apps und JavaScript-gesteuerte native Apps.

Progressive Web-Apps

PhoneGap sollte Webentwicklern immer dabei helfen, mehr auf Mobilgeräten zu tun, wenn sie an die Grenzen mobiler Webbrowser stoßen. PhoneGap verwendet alles aus dem Web - HTML, CSS, JavaScript - und verwendet Plugins, die in nativem Code (Objective-C, Swift, Java) geschrieben sind, um über JavaScript auf bestimmte native Gerätefunktionen zuzugreifen. Im Laufe der Zeit hat sich dies sowohl als Segen als auch als Fluch erwiesen. Die Lernkurve ist sehr gering, aber die eingebetteten Webbrowser in PhoneGap-Apps haben häufig Probleme mit der Leistung (nein, dank Apple und lange Zeit der Standard-Android-Webansicht). Dennoch war PhoneGap eine funktionierende Lösung, die für viele „gut genug“ Ergebnisse lieferte.

In der Zwischenzeit haben sich die Webstandards weiterentwickelt, und in den letzten drei bis vier Jahren hat sich der Drang, die Webstandards zu verbessern, die für die Erstellung leistungsfähigerer, offline-fähiger mobiler Apps erforderlich sind, unter dem Begriff „progressive Webanwendungen“ katalysiert.

Mit fortschrittlichen Web-Apps macht die Webplattform einen weiteren großen Schritt nach vorne. Jetzt haben Web-Apps die volle Kontrolle über den Netzwerkstapel, sodass erweiterte Caching- und Offline-Vorgänge ausgeführt werden können. Es gibt auch neue APIs, mit denen Web-Apps andere Aufgaben ausführen können, die häufig mit nativen mobilen Apps verbunden sind, z. B. das Starten mit einem Begrüßungsbildschirm, das Senden von Push-Benachrichtigungen oder das Bitten von Benutzern um Zahlungsinformationen. Fügen Sie dies zu allen anderen „HTML5“ -APIs hinzu, die in Browsern gelandet sind - wie z. B. Zugriff auf Beschleunigungsmesser, Kameras usw. - und Sie verfügen über eine sehr leistungsfähige Webplattform für viele Arten von Apps.

All diese Funktionen hätten eine native App erforderlich gemacht, als PhoneGap erstellt wurde, aber jetzt haben die Browser aufgeholt. Wir können die Hybrid-Stützräder abnehmen.

Dennoch gibt es im Web noch Grenzen. Es liegt in der Natur der langsamen, auf Standards basierenden Plattform. Progressive Web-Apps sind ein großer Fortschritt, aber nicht der perfekte Ersatz für alle Apps. Was müssen Webentwickler nach dem Hybrid tun, wenn sie noch vollen Zugriff auf native Geräte-APIs benötigen? Geben Sie JavaScript-gesteuerte native Apps ein.

JavaScript-gesteuerte native Apps

Vor rund fünf Jahren versuchten mehrere Unternehmen, eine Lösung für die häufigen Leistungsprobleme zu finden, die hybride mobile Apps plagten. Das Ziel: Erstellen Sie Frameworks, die eine „wirklich native“ Leistung und eine reichhaltige Benutzeroberfläche bieten und gleichzeitig plattformübergreifend und Webentwicklern vertraut sind. Aus dieser Arbeit gingen zwei beliebte Optionen hervor: React Native (von Facebook) und NativeScript (von Progress).

Mit diesen neuen Frameworks können Entwickler ihre Webkenntnisse weiterhin wiederverwenden. Anstatt jedoch einfach einen Webbrowser in eine native App-Shell einzubinden (wie dies bei PhoneGap der Fall ist), erzeugen diese neuen Ansätze eine native Benutzeroberfläche. Das Ergebnis sind mobile Anwendungen, die sich eher wie "rohe" native Plattformen mit einer Plattform anfühlen und funktionieren und gleichzeitig plattformübergreifende Produktivität erzielen.

Es gab einige Namen, die diesen Ansatz beschreiben: unter anderem „Hybrid 2.0“, „Native Hybrid“ und „Cross-Platform Native“. Forrester führte den Begriff „JavaScript-gesteuerte native Apps“ ein, und obwohl er nicht gerade von der Zunge rollt, handelt es sich zumindest um einen genauen und beschreibenden Namen.

Mit JavaScript-gesteuerten nativen App-Frameworks haben Webentwickler das meiste, was sie an PhoneGap geliebt haben, aber mit noch mehr Leistung und Leistung. Zum Beispiel bietet NativeScript, das sowohl in Angular als auch in Vue tief integriert ist, Entwicklern über JavaScript vollen Zugriff auf alle nativen APIs. Jeder von ihnen. Wenn dies in einer nativen App möglich ist, kann dies in NativeScript erfolgen. Mit plattformübergreifenden Modulen können die meisten Dinge einmal codiert werden und funktionieren sowohl unter iOS als auch unter Android. Es ist wie mit PhoneGap-Plugins für Steroide.

React Native und NativeScript sind beide florierende Open-Source-Projekte und beide sind bereit, die natürliche Weiterentwicklung von „Hybrid 1.0“ für Fälle zu sein, in denen progressive Web-Apps nicht in die Rechnung passen.

Welche wählen Sie aus?

Obwohl PhoneGap nicht weg ist, ist es schwer vorstellbar, warum ein neues Projekt heute mit PhoneGap beginnen würde, wenn Optionen wie progressive Web-Apps und JavaScript-gesteuerte native Apps existieren. Beide Optionen stellen Pfade dar, die für die Zukunft entwickelt wurden, und sind für Webentwickler, die bereits mit der Entwicklung hybrider Apps vertraut sind, relativ trivial.

Die Wahl zwischen den Optionen sollte ebenfalls einfach sein:

  1. Wenn Ihre App nicht viel Geräte-API-Zugriff benötigt, nicht in den App Stores sein muss und unter iOS (vorerst) mit einigen zusätzlichen Einschränkungen leben kann, erstellen Sie eine progressive Web-App.
  2. Wenn die Anforderungen Ihrer App die Grenzen progressiver Web-Apps überschreiten, wählen Sie eine der JavaScript-gesteuerten nativen App-Plattformen:
    1. Wenn Sie ein React-Shop sind, wählen Sie React Native.
    2. Wenn Sie ein Angular- oder Vue-Shop sind, wählen Sie NativeScript. 

Viele der Unternehmen, die diese Open-Source-Frameworks konzipieren, sind sehr hilfsbereit und bieten technische Anleitungen für die Migration von PhoneGap zu ihrem Framework. Wenn Sie nach einem Ort suchen, an dem Sie Ihre Migrationsreise beginnen können, ist es immer eine gute Idee, einen Experten zu konsultieren.

Und wenn Sie nicht weiterkommen oder lieber mit einem Experten von Drittanbietern sprechen möchten, stehen der Entwicklergemeinde eine Reihe großartiger Ressourcen zur Verfügung - die offensichtliche und beliebteste Wahl ist GitHub. Es wurden jedoch viele andere Foren erstellt, die Entwicklern bei der Migration von PhoneGap und Hybrid zu progressiven Web-Apps helfen sollen, und sie bieten einige großartige Hinweise.

Letztendlich machte PhoneGap seinem Namen alle Ehre. Es half Webentwicklern, die „Lücke“ bei der Entwicklung mobiler Apps fast ein Jahrzehnt lang zu schließen. Das ist in jeder Hinsicht ein beeindruckender Lauf. Jetzt ist es an der Zeit, dass fortschrittliche Web-Apps und JavaScript-gesteuerte native App-Frameworks den Mantel aufgreifen und Entwickler in die Zukunft führen.

Hybrid (1.0) ist tot. Es lebe der Hybrid (2.0).

Todd Anglin ist Vice President für Produktstrategie und Entwicklerbeziehungen bei Progress. 

- -

Das New Tech Forum bietet einen Ort, an dem Sie neue Unternehmenstechnologien in beispielloser Tiefe und Breite erkunden und diskutieren können. Die Auswahl ist subjektiv, basierend auf unserer Auswahl der Technologien, die wir für wichtig und für die Leser von größtem Interesse halten. akzeptiert keine Marketingmaterialien zur Veröffentlichung und behält sich das Recht vor, alle eingebrachten Inhalte zu bearbeiten. Senden Sie alle Anfragen an  [email protected] .