Im Gespräch mit Florian Müller und Domenic Benz

HTML5 versus native Apps? – Warum nicht einfach beides!

„HTML5 versus native Apps“ – das ist eine Frage, die in der Mobile-Entwicklerszene häufig diskutiert wird. Doch handelt es sich dabei wirklich um zwei gegensätzliche Ansätze? Nein, sagen Florian Müller und Domenic Benz, und stellen in ihrer W-JAX-SessioniPhone Mash-ups mit HTML5, XCode und Android“ einen Lösungsweg vor, der die Vorteile beider Welten zu nutzen weiß. Einen Vorgeschmack geben sie uns im Gespräch mit JAXenter.

Das große W-JAX-Gewinnspiel

Schon mitgemacht? Bis zum Ende des W-JAX-Frühbucherrabatts „Very Early Bird“ am kommenden Mittwoch, 17. August 2011 können Sie noch unsere Preisfrage beantworten:

Wann fand die erste W-JAX-Konferenz statt?

Zu gewinnen gibt es:

  • Hauptgewinn: Eine Teilnahme an der W-JAX Hauptkonferenz (8.-10. November)
  • 5 T-Shirts „Oracle Technology Network“
  • 5 T-Shirts „JBoss AS 7“
  • 6 Bücher aus dem Hause entwickler.press (Agile Developer Skills, Durchstarten mit Scala, Java Enterprise Performance)
  • 5 Jahresabos für das Java Magazin

Einfach die Antwort an redaktion[at]jaxenter.de schicken und an der Verlosung teilnehmen!

Weitere Infos unter: Das große W-JAX-Gewinnspiel

JAXenter: Mobile Anwendungen kann man mit HTML5 oder nativ entwickeln. Schließt hierbei das eine das andere aus?

Florian Müller: Grundsätzlich sind Kombinationen aus HTML5 und nativer Technologie möglich – HTML5 bringt gewisse Limitierungen bezüglich des Zugriffes auf die Geräte-APIs mit sich, dafür können jedoch sämtliche mobilen Geräte in der Regel mit HTML5 umgehen und HTML5 vernünftig darstellen. Entsprechend kann man, vereinfacht dargestellt, einen eigenen Browser bauen, das Rendering wird durch HTML5 erledigt, und sobald es um Geräte APIs geht, kommt der Browser Frame zum Einsatz. Das hört sich zwar erstmal ein wenig nach „Von hinten durchs Auge in die Brust…“-Programmierung an, bietet aber den Charme, dass die Oberfläche nur ein einziges Mal erstellt werden muss. Die gerätespezifische Implementierung beschränkt sich dann auf die Erstellung eines Browser Frames inklusive zugehöriger Schnittstellen.

JAXenter: Wo liegen die Vorteile eines solchen kombinierten Ansatzes?

Domenic Benz: Der Hauptvorteil liegt in der einmaligen Erstellung einer Oberfläche. Es gibt mittlerweile sehr ausgereifte JavaScript-Bibliotheken (z.B. Sencha Touch), die nur dem versierten Benutzer einen Unterschied zur nativen Anwendungen erkennen lassen. Ganz klar, wenn man sich in puncto Look & Feel für iOS entscheidet, müssen die Android-Benutzer in den sauren Apfel beißen bzw. umgekehrt die iOS-Benutzer. Darüber hinaus wird es möglich, große Teile einer Anwendung z.B. durch eine reine Web-Entwicklungstruppe umsetzen zu lassen, die häufig gefürchteten Objective-C-Kenntnisse beschränken sich auf ein Minimum.

JAXenter: In Ihrer W-JAX-Session sprechen Sie über „iPhone Mash-ups mit HTML5, XCode und Android“. Worum wird es gehen?

Florian Müller: Momentan sind wir tagtäglich mit Kundenanfragen konfrontiert. Kunden möchten erfahren, ob ein mobiles Szenario „nativ“ (XCode, Android etc.) umgesetzt werden soll oder ob es sich eher lohnt, auf den langsam anrollenden HTML5-Zug aufzuspringen. Grundsätzlich ist diese Frage durchaus berechtigt, häufig wird dabei jedoch nicht bedacht, dass es sich an dieser Stelle nicht zwangsläufig um eine „entweder oder?“ Frage handelt, sondern dass auch eine Kombination aus nativer Implementierung und HTML5 möglich ist – genau das bezeichnen wir dann als sogenannten „mobilen Mashup“, eine Form der Programmierung, bei der möglichst viele darstellende Elemente (= GUI) Richtung HTML5 ausgelagert werden und alles, was Geräte-APIs betrifft nativ umgesetzt wird. Wie so etwas in der Praxis aussehen kann, und vor allen Dingen, dass es sich an dieser Stelle nicht nur um ein theoretisches Konstrukt handelt, werden wir in unserer Session aufzeigen… und hoffen, auf diese Art und Weise einen eleganten Ansatz für die Umsetzung von geplanten mobilen Szenarien/Anforderungen aufzeigen zu können.

JAXenter: Welche Herausforderung stellt für Ihren Ansatz die Fragmentierung von Android dar?

Domenic Benz: Eine Fragmentierung wird dann zum Problem, wenn man innerhalb der Gattung „Android-Anwendungen“ beginnen muss, für die einzelnen Derivate separate Implementierungen zu erstellen, so wie man es früher beispielsweise bei HTML machen musste, um alle Browser zu unterstützen. Bei unserer miReport-Anwendung (www.mireport.ch) sind wir genau in einen solchen Fragmentierungs-Issue hinein gelaufen: Android unterstützt SVG erst ab Android 3.0, d.h. die 3.0-User können die Anwendung nutzen, die 2.1-Kandidaten benötigen einen Workaround. Grundsätzlich muss man jedoch auch erwähnen, dass die mobilen Geräte heutzutage eine sehr kurze Halbwertzeit haben, d.h. man kann es sich erlauben, Vorgaben zu machen à la „Anwendung wird erst ab Android 3.0 unterstützt“, da man sicher sein kann, dass in einem Jahr ein Großteil der Geräte auf dem 3.0er Stand sein werden…

Florian Müller arbeitetals Solution Architekt mit dem Schwerpunkt „SAP UI Technologien“ für den SAP Dienstleister Resource AG Schweiz (http://www.resource.ch). Darüber hinaus betreibt Florian die Plattform richability (www.richability.com), wo regelmäßig über neuste Erkenntnisse aus dem Bereich Frontend Technologien & Entwicklung informiert wird. Sie erreichen ihn via Florian.Mueller[at]richability.com.

Domenic Benz arbeitet als Entwickler für Swisscom SAP Services, den Schwerpunkt seiner Tätigkeit bilden mobile Benutzeroberflächen. Angefangen bei Swing und JSP bis hin zu aktuellen HTML5 Frameworks konnte Domenic die Höhen und Tiefen der Entwicklung von Web Oberflächen für Java Anwendungen miterleben und Kenntnisse in den entsprechenden Bereichen aufbauen.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.