Neo Tech Blog

NEO TECH LBLOG - Praxis-Techblog für IT, Web und Mobile
HTML5 App

Die Zukunft von Hybrid Apps (Teil 2)

Keine Kommentare


Bei der Entwicklung von hochperformanten Hybrid Applikationen auf Basis von HTML5 stehen App Entwickler vor zahlreichen Herausforderungen. In der Betrachtung von drei Aspekten, dem Einsatz von User Interface Libaries wie famo.us, die Einführung von iOS 8 und der Einfluss von modularen Webviews beschreiben Sidney Bofah und Chrsitian Justus von Neofonie Mobile, wie sie die Aussicht auf die nächste Generation hybrider Applikationen sehen.

UI-Library famo.us als Lösung?

Famo.us ist ein extrem ambitioniertes Projekt. Das Framework deckt scheinbar alle Aspekte der User Interface Entwicklung ab, von Touchinputs, einer einfachen Physik-Engine bis hin zu einer eigenen Rendering-Pipeline, der es egal sein würde, ob sie nach DOM, Canvas oder WebGL berechnet. Das Ziel dabei ist, hybride Apps losgelöst von den Vorgaben von HTML5 und CSS zu entwickeln und so Freiheiten vergleichbar zur nativen Entwicklung zu schaffen. Der Preis hierfür ist eine relativ hohe Komplexität mit einer mehrwöchigen Lernkurve. Derzeit steht famo.us noch am Anfang.

Die Bemühungen JavaScript als endgültige Lösung für die User Interfaces auf allen Devices zu positionieren, gewinnt vor dem Hintergrund von ‘Windows Unified Apps’ an Substanz. Um jedoch auf den mobilen Devices etabliert werden zu können, ist es notwendig, Webapps aus der Defensive zu holen – so dass auch spielerisch wirkende User Interfaces mit eigenem Charakter auf reiner HTML-Basis entstehen können, die sich durch Details wie ein durch physische Attribute (vgl. UIKit Dynamics) beeinflusstes Szenenmodell hervortun.

Bei der näheren Betrachtung von famo.us war zunächst die Integration mit existierenden Frameworks wie Angular und Cordova interessant. Insellösungen wie z.B. das junge ‘Framework7’-CSS-Toolkit, welches das iOS-7-UI zu 100 Prozent in HTML5 implementiert, bleiben nur in Testballons interessant. Eine Integration mit den großen MVC-Frameworks ist ein Muss für größere Projekte.

Das frühe Release der famous/angular-Integration hat uns positiv überrascht. Der modulare Aufbau des Frameworks ermöglicht die schrittweise Ergänzung oder den Einsatz in einzelnen Features. Das Zusammenfließen der technologischen Bemühungen wird hoffentlich in den Features WebGL-Renderer und dynamisch aktualisierbarer Cordova-Wrapper evident.

Modulare Webviews im Aufschwung

Wenn heute eine Applikation für das gebräuchliche ‘‘iOS oder Android” entsteht (und HTML-basiert ist), dann ist damit eigentlich eine relativ große Bandbreite von WebKit-Implementierungen gemeint, welche je nach Zahl der anvisierten Betriebssystem- und Devicespezifikation variiert.

In der Praxis läuft ein auf Android 4.4 tadellos lauffähiges UI auf Android 4.2, 4.3 oder gar 4.3.1 jedoch anders oder gar nicht, wie dies erwartet worden ist. Teilweise liefern die Komponenten nicht einmal grundlegende JS-Events, so dass effizientes Arbeiten oft Workaround Engineering bedeutet.

Hinzu kommt auch noch das Fehlen des in Kit Kat neuen Chrome Remote Debugger, so dass eine Live-Debugging-Session beispielsweise mit Third-Party-Tools wie JSHybugger notwendig war.

Modulare Webviews können die Entwicklungskosten erheblich reduzieren, da sie die möglichen Divergenzen von Referenzplattform und Implementierung gegen Null bewegen.

Liefert man seine eigene Webview mit, schlägt man drei Fliegen mit einer Klappe:

  1. Die Wahrscheinlichkeit ist hoch, dass ein QA-Mitarbeiter die App genauso schon mal in der Hand hatte
  2. Auf einen Schlag wird das Potpourri der Webviews unter Android 2.3 – 4.4 auf einen aktuellen Stand vereinheitlicht
  3. Man erhält eine entschlackte, auf die Hybrid-Nutzung optimierte Webview, von der man erwarten kann, dass der Overhead klein gehalten wird

Perspektivisch betrachtet ist die Payload-Größe der App ein wichtiger Punkt, da das Datenvolumen nicht unverhältnismäßig groß sein wird. Der Webview-Overhead bei der Installation früherer Cordova-Crosswalk-Projekte lag bei ca. 30 bis 40 MB. Nach eigenen Angaben schafft es das Team von famo.us mittlerweile, diesen Payload mit dem hauseigenen Wrapper auf 10 MB zu reduzieren.

iOS 8 bringt Erleichterung für Entwickler

Mit der Einführung von iOS 8 beseitigt Apple lange existierende Hindernisse für die Entwicklung von Hybrid Apps und bringt WebGL, den Nitro-beschleunigten Mobile Safari und die runderneuerte WKWebview.

Die neue WKWebview erhält die gleiche JavaScript-Engine, die im Mobile Safari verwendet wird. Je nach Anwendung können hier Performance-Zuwächse im zweistelligen Prozentbereich erwartet werden. Gleichzeitig bringt die WKWebview erstmals Unterstützung für WebGL und somit einen direkten Kanal zur Grafikkarte. Es gab zwar schon Third-Party-Lösungen für WebGL, diese waren aber reine WebGL-Renderer ohne HTML-Fähigkeiten, somit in erster Linie für Spiele interessant. Jetzt sind dagegen auch komplexe 3D-Anwendungen als Hybrid App realisierbar.

Damit beendet Apple die fehlergespickte Implementierung der UI Webview, was dem User zugute kommt, indem die freigewordene Energie in Features investiert werden kann, statt in Workarounds.

Wer mehr über die kommende Generation HTML5-basierter Hybrid-Apps erfahren will, kann in der Präsentation zur Mobile Tech Conference in Berlin Informationen über die nächste Generation hybrider Applikationen finden und Einblick in Live-Beispiele und Erfahrungen aus dem Projektalltag bekommen.

Zurück zu Teil 1: Hybrid App Entwicklung auf HTML5 Basis – Grenzen und Möglichkeiten

Sidney Bofah und Christian Justus

Autor: Sidney Bofah und Christian Justus

Sidney Bofahs Passion gilt hybriden Crossplatform-Applikationen auf Basis von HTML5 & JavaScript. 2012 stieg er bei der Neofonie Mobile GmbH als Projektmanager ein und begleitete seitdem als Project Lead und Technical Lead zahlreiche native und hybride Applikationsprojekte für iOS, Android und Windows. Seit März 2014 verantwortet er den Bereich Business Development. Nach vielen Jahren Erfahrung als Frontend-Webentwickler setzte Christian Justus 2013 seine erste hybride Mobile Applikation mit AngularJS und Cordova um. Seitdem hat Christian bei Neofonie Mobile als Senior Web Developer und federführender Frontend-Architekt einen wesentlichen Beitrag zu allen HTML5-basierten Projekten geleistet.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.