1113106

Probleme bei der App-Erstellung mit HTML5

05.10.2011 | 09:20 Uhr |

HTML5 bietet Web-Entwicklern viele mächtige neue Features. Wir zeigen aber, wo an seine Grenzen stößt und zur App-Entwicklung besser nicht verwendet werden sollte.

HTML5 verfügt über einige nützliche Funktionen und hat das Potenzial, einen Paradigmenwechsel im Bereich Web-Programmierung herbeizuführen. Nur ein Stückchen HTML5 in Ihrem Quellcode und schon wird Ihre Webseite schneller und hübscher. Was HTML5 aber für diejenigen bietet, die diese Leistung über native Apps abrufen wollen, ist nicht so berauschend.

Nach mehreren Jahren warmer Worte für die durchdachten neuen Tags und APIs von HTML5 ist die Zeit reif zuzugeben, dass HTML5 auch mit zahlreichen Einschränkungen leben muss. In einigen Fällen ist es sogar besser, sich teilweise wieder von HTML5 abzuwenden. Denn entgegen der weit verbreiteten Meinung ist HTML5 eben nicht die Lösung für alle Probleme. Seine Funktionen sind beeindruckend und hilfreich dabei, Web-Apps zu einer echten Konkurrenz für native Apps zu machen. Doch Sicherheits-Probleme, Limitierungen bei der lokalen Datenspeicherung und der Synchronisation lassen die hohen Erwartungen etwas zurückrudern. Wir zeigen Ihnen einige Nachteile von HTML5, die Web-Entwickler kennen und akzeptieren sollten, um das Beste aus HTML5 herauszuholen.

HTML5: Albtraum Sicherheit

Das fundamentale Problem ist, dass der Nutzer die volle Kontrolle über den Code hat, der auf dem PC läuft. Im Falle von Web Apps und wenn Ihr Browser über ein gutes Debugging-Tool verfügt, ist es einfach denn je, diese Kontrolle zu missbrauchen. Mit einem Javascript-Debugger wie Firebug kann nahezu jeder Interessierte Zwischenstopps einfügen und so den Code betrachten. Zum Debuggen und um zu lernen, wie eine Webseite funktioniert, ist das fantastisch. In puncto Sicherheit dagegen eine Katastrophe.

HTML5-Webseiten: Die cleversten HTML5-Anwendungen

Mal angenommen, es gibt da eine Variable, die einen Wert enthält, den Sie verändern wollen. Mit Firebug kein Problem. Die Browser-Umgebung macht die Manipulation von Daten wesentlich einfacher, als sie mit nativen Codes der Fall wäre.

Die Gefahr durch ein solches Debugging-Tool ist natürlich abhängig von der Art der Web-App. Es stellt kein ernst zu nehmendes Problem dar, wenn irgendjemand an den Längen- und Breitengeraden einer Geolocation-App herumwerkelt, um seinen Freunden einen Streich zu spielen. Nutzerbasierte HTML5-Apps sollten allerdings niemals dazu benutzt werden, um ernsthaft wichtige Daten zu sammeln. Die Apps - und damit auch Sie - sind einfach zu leicht auszutricksen.

HTML5: Lokale Daten lassen sich manipulieren

Der Nutzer mag zwar keine Kontrolle über die Daten haben, doch auch die zentrale Webseite wird behindert, sobald sie Nutzerdaten verarbeitet. Hat der Nutzer den Browser gewechselt? Oder die Maschine? Da schlagen die meisten Web-Entwickler nur die Hände über dem Kopf zusammen und benutzen den lokalen Datenspeicher, um kurzzeitigen Inhalt zu sichern. Der Nutzer kann hier kaum selbst Hand anlegen - auch aus Gründen der Synchronisation.

Web-Entwickler sollten sich zudem um die Sicherheit dieser lokalen Datenbanken sorgen. Zwar gibt es (noch) keine Tools, die es dem Nutzer leicht machen, lokale Daten zu verändern und ihre Privilegien zu erhöhen; andererseits gibt es auch keine Möglichkeit für den Zentralserver, so etwas im Fall der Fälle zu verhindern. Alle HTML5-Sicherheitslücken, die dadurch entstanden sind, dass der Nutzer den JavaScript-Code verändern darf, betreffen auch die Datenbanken. Sie liegen quasi ungeschützt brach und warten nur darauf, dass irgendjemand ein Greasemonkey-Script oder einen nativen Code schreibt, um die Daten zu verändern.

HTML5: Synchronisation von Offline-Apps beinahe unmöglich

Die lokale Datenspeicherung von HTML5 verbessert in rasendem Tempo die Möglichkeit, Web-Apps auch offline zu benutzen. Das einzige große Problem ist die Datensynchronisation. Wenn eine Web-App mit dem Internet verbunden ist, kann sie kontinuierlich Daten in der Cloud speichern. Ist die App dagegen offline, werden Veränderungen nicht immer in der Cloud gespeichert. Wechselt der Nutzer jetzt den Browser oder die Maschine, beginnen die Kopien zu wuchern und die Synchronisation wird zum Albtraum. Schlimmer noch: Auch die Uhrzeit könnte asynchron sein, wodurch man sich auf die Suchfunktion nach den "neuesten gespeicherten Daten" nicht mehr verlassen sollte.

Natürlich ist das schon seit jeher ein Problem von nativen Apps. Der Unterschied ist allerdings, dass das native Modell es offensichtlich macht, wer für die Synchronisation verantwortlich ist: Nutzer, die die Synchronisation verwalten, indem Sie Dateinamen kontrollieren und Kalenderdaten ausbessern. Da HTML5 den Nutzern allerdings keine Befugnis darüber erteilt, die Datenbanken tief im Innern des Browsers zu verwalten, müssen Entwickler eine passende Benutzeroberfläche zur Verfügung stellen, um die Synchronisation zu händeln. Die meisten Programmierer benutzen dazu bestehende HTML5-Kontrollsysteme der jeweiligen Browser-Version, die mit derartigen Problemen immer besser zurecht kommen. Nur, weil die Technologie vorhanden ist, heißt das aber noch lange nicht, dass diese Lösung auch für jeden einfach zu nutzen ist. Die unterschiedlichen GIT-Speicher zu kombinieren kostet vor allem Zeit. HTML5-Entwickler sollten sich darin trotzdem Expertenwissen aneignen, um die Synchronisation von Web-Apps zu beherrschen.

0 Kommentare zu diesem Artikel
1113106