Der Magic Software Germany Blog

Montag, 9. Januar 2012

HTML5 Web Apps Vs Native Apps – Welcher Weg wird es sein?


Die meisten Unternehmen verschwenden viel zu viel Zeit und Geld für die Entwicklung ihrer mobilen Lösungen für jedes derzeit relevante Smartphone OS. 
Dabei konzentrieren sich die meisten Unternehmen auf die 3 großen Player:


RIM´s Blackberry OS, Apple´s iOS und Google`s Android


Obwohl bereits abzusehen ist, dass es dabei nicht bleiben wird. Microsoft Windows Phone, in der Allianz mit Nokia, ist ebenfalls in den Startlöchern. 
Somit zeichnet sich bereits ab, dass die Anwendung demnächst für ein weiteres Smartphone OS komplett neu geschrieben werden muss.






Bei den Investitionen für die Entwicklung bleibt es natürlich nicht. Dazu kommen noch Wartungskosten und Supportaufwendungen. Deshalb wird der Grundgedanke, der hinter HTML5 steht immer populärer. Insbesondere in Bezug auf die Interaktionen mit den lokalen Ressourcen der Smartphones. 
HTML 5 bringt die große Tugend der Webanwendungen, welche im Mobile Bereich schmerzlich vermisst wird, die Ubiquität, die vollständige Erreichbarkeit auf allen Geräten.


Mit dieser Ubiquität von HTML5 muss man Anwendungen nur einmal entwickeln und kann sie dann auf verschiedenen Browsern deployen. Eben auch auf den verschiedenen Smartphone Browsern.
HTML5 ermöglicht somit Unternehmen mit nur einem Entwicklungsteam, das eine Anwendung basierend auf einem Quellcode entwickelt, auf jedem beliebigen Smartphone zu deployen. Damit können viele Unternehmen ihre Entwicklungskosten um 2/3 kürzen! 


HALLELUJAH!


Viele Unternehmen stürzen sich dennoch nicht in HTML5 basierte Entwicklung.


Warum ist dies so?
Die Antwort lautet: Es ist noch zu früh.


Obwohl HTML5 beträchtliche Fortschritte gemacht hat, erfüllt es aus folgenden Gründen dennoch nicht alle Kriterien für eine native Anwendung:




Finalisierung erst 2014


Im Februar 2011 hat der W3C verkündet, dass die Arbeiten am HTML5 Standard bis 2014 abgeschlossen sein werden. Das bedeutet, dass viele Features, mit denen man jetzt noch rechnet,  im finalen Standard gar nicht enthalten sein müssen und Entwickler, sich plötzlich in der Situation wiederfinden, dass sie die ganzen Jahre an einer letztendlich proprietären Lösung gearbeitet haben.
Selbst wenn sich die Erde auch nach dem 12.12.2012 noch weiterdrehen sollte, wird es dennoch einige Zeit dauern, bis der HTML5 Standard finalisiert sein wird.


Es gibt keinen "allgemeingültigen" Browser


Unterschiedliche Browser und die unterschiedliche Funktionsweise und Implementierung jedes Browsers ist immer noch ein Problem bei Desktop Web Anwendungen und bringt eine Menge an Komplexität und vielfältige Herausforderungen bei der Programmierung mit sich.
Mit der großen Zahl von Smartphone Herstellern und deren nie erlöschendem Verlangen, die Nutzer in ihrem "Ökosystem" gefangen zu halten, ist der Traum eines allgemeingültigen Browsers ferner denn je.




Cartoon von Rob Cottingham 
Ein Beispiel:

Amazon Kindle Cloud Reader basiert nun auf HTML5, unterstützt jedoch nicht alle Browser. Das sagt bereits alles: Die Vielzahl der Browser ist ein echtes Problem und es gibt keine rechte Möglichkeit den Code einmal zu schreiben und überall zu deployen. 




















Fehlende Funktionalität

HTML5 fehlt immer noch der volle Umfang der nativen ApplikationsfunktionalitätLokaler Speicherzugriff ist noch nicht verfügbar. Das Camera Overlay wird nicht unterstützt, ebenso der richtigen Umgang mit der Menü-Taste, und so weiter.



Leistung


Die Leistung von HTML5  auf der Client-Seite ist sehr stark abhängig von Javascript und das sagt alles. Gerade wenn es um komplexe Applikationen geht, wird die Leistung eines anspruchsvollen, HTML5 basierten Client viel schlechter sein als die von einer nativen Anwendung.


Sicherheit


HTML5 ist nicht der beste Ansatz, wenn Sicherheitsfragen aufkommen. Exakt aus den gleichen Gründen, warum eine browserfreie Rich Internet Applikationen weitaus bessere Sicherheit bietet, als eine browserbasierte RIA. Der Browser, da er ein gemeinsamer Client ist, ist viel anfälliger für Sicherheitslücken und die Entwickler müssen die Kommunikation zwischen dem Client und dem Server mit viel Aufwand verschleiern.



Also ... Was ist zu tun?



Viele Entwickler blicken jetzt auf HTML5 - nicht weil es besser als native Anwendungen ist, sondern: Entwickler und Entscheider wollen lediglich den massiven Entwicklungsaufwand vereinfachen und reduzieren, der durch den nativen Entwicklungsansatz entsteht.


Warum sich mit weniger zufrieden geben?
Warum es riskieren, sich an eine Technologie zu wagen, die noch nicht als valide gilt?
Was wäre, wenn Sie eine native mobile Anwendung auf jedem Smartphone OS mit einem einzigen Entwicklungsaufwand implementieren könnten? Wäre das nicht toll?


Es wäre nahezu pure Magie!

Und genau darum ist es Magic
.



Wenn Sie an HTML5 dachten - behalten Sie diesen Gedanken - Entdecken Sie die mobile Technologie von Magic Software  und sehen Sie, wie Sie Anwendungen einmal entwickeln und dann auf jedem mobilen Gerät bereitstellen .