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.

Mobile Lösungen

Erfahren Sie mehr zu unserer Mobile Kompetenz

Autoren: Sidney Bofah & Christian Justus

SidneyChristianSidney 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.

Das könnte Sie auch interessieren

FeatureMobileApps

Mobile Apps: 6 Features für mobiles Business

| Mobile Business | No Comments
Weltweit nutzen mehr Menschen das Internet über mobile Endgeräte als über den Desktop. Unternehmen sind dort, wo die Kunden sind. Mobile Angebote über eigene Apps spielen dabei eine zentrale Rolle. Für...
pei-ching-Wu

How to Make Our Lives Smarter with Mobile Technologies

| Mobile Business | No Comments
Mobile devices are a permanent part of our lives and help us to get smarter. Which apps, technologies and trends will determine the future of the mobile world? In this...
android-car

Konnektivität im Auto – Möglichkeit und Chancen

| Mobile Business | No Comments
Immer mehr Fahrzeughersteller öffnen ihre Fahrer-Informations-Displays für Apps. Damit hat die nächste Runde der digitalen Revolution im Auto begonnen. Denn jetzt bestimmen wir als Fahrer die Inhalte auf dem Fahrzeug-Display. Möglich...

Data. Services. Technologies.