Inhaltsverzeichnis:
Hast du gehört? HTML5-Apps werden wahrscheinlich nächstes Jahr alles verändern. Zumindest sagt dies eine Seite der Debatte über HTML5 im Vergleich zu nativen Apps schon seit einiger Zeit. Es ist eine Botschaft, die von Zeit zu Zeit ins Rampenlicht rückt und für immer so bleiben wird. Oder zumindest, bis es tatsächlich passiert und die besten Apps HTML5-Apps sind. Es ist nicht ungewöhnlich, dass Entwickler diese Art von Debatten führen und Befürworter jeder Seite erklären, wie ihre Version die bessere Version ist, aber wenn die Dinge über eine Entwicklerdiskussion hinausgehen und in den Mainstream übergehen, wo Sie und ich sie hören, können sie uns taub machen. Sollten wir uns wirklich darum kümmern, was wir hören?
In diesem Fall ja. Während die Utopie, in der jede App in HTML5 geschrieben ist und jeder Benutzer die gleiche Erfahrung hat, immer noch ein guter Ausweg ist, ist HTML5 in hybrider Form bereits eine ziemlich große Sache. Wir sollten alles wissen und verstehen, was eine ziemlich große Sache ist.
Was ist eine HTML5-App?
Das erste Mal, dass die meisten Leute von HTML5 hörten, war, als Steve Jobs uns sagte, dass dies die Zukunft des Webs sein würde und Flash dies nicht tun würde. Seine Aussage wurde teilweise wahr, weil Apple den Zugang zu jeder Art von Flash-Player auf iOS blockierte, aber es brauchte keinen Visionär, um zu wissen, dass dies kommen würde, da HTML5 viel mehr zu bieten hat als Flash jemals zuvor. Und es kommt einfach so vor, dass die Zukunft des Webs auch ein ziemlich guter Weg ist, um Anwendungen zu codieren.
HTML steht für HyperText Markup Language und wir sind bei der 5. Revision des Standards. Wenn Sie jedoch den Begriff HTML5-App hören, unabhängig davon, ob dies eine Web-App oder eine App ist, die Sie auf Ihrem Telefon installieren können, haben Sie es tatsächlich mit drei Arten von Code zu tun.
- HTML bietet ein Framework, in dem Entwickler ihren Code ablegen können und eine Anwendung ihn in etwas verwandeln kann, das wir sehen und mit dem wir interagieren können.
- Mit CSS können Sie festlegen, wie einzelne Code-Teile aussehen, wenn sie auf unserem Bildschirm gerendert und angezeigt werden.
- JavaScript macht alles interaktiv und kann alles "machen".
Was HTML5 so großartig macht, ist, dass alles von einer Anwendung verstanden wird, die ein App-Entwickler nicht warten muss, und dass alles auf jedem Gerät mit einem Bildschirm funktioniert, der eine eigene Version dieser App hat. Wir sprechen von einem Webbrowser, aber nicht von der Webbrowser-App selbst. Die Komponente eines Webbrowsers, die all diesen Code aufnehmen und in etwas umwandeln kann, das wir im Handumdrehen verwenden können, ist ziemlich portabel und Teil vieler Apps, die Sie bereits als Webansicht verwenden.
Ein Mozilla-Ingenieur sagte einmal: "Code, der einmal irgendwo ausgeführt wird, bedeutet nicht, wegzulaufen. Optimierung ist der Schlüssel." Schlaue Jungs, diese Mozilla-Ingenieure.
Dies bedeutet, dass ein Entwickler seinen Code schreiben und feineinstellen und dann überall bereitstellen kann. Das ist ein großer Unterschied zum Schreiben von separatem Code für Android, iOS, macOS, Windows und HTML für webOS und BlackBerry 10. Ein Entwickler kann Code mit jeder von ihm gewählten Entwicklungsumgebung schreiben, sei es mit Notepad oder einer komplexen Umgebung wie Visual Studio oder Adobe Dreamweaver, debuggen und optimieren Sie es in jedem Browser, den Sie auswählen, und es funktioniert immer noch überall.
Dazu gehört auch Ihr Telefon. Wir haben alle gesehen, dass HTML5-Apps als Webseite verwendet werden. Orte wie Twitter oder die mobile Version von Google Mail sind hervorragende Beispiele für HTML5. Da HTML5 jedoch von einer Webansicht-Komponente gerendert werden kann, ist es einfach und schnell, ein Fenster in einem einfachen App-Frame abzulegen, um eine App zu erstellen, die Sie tatsächlich auf Ihrem Telefon installieren. Es gibt sogar Tools von Drittanbietern, die die ganze Arbeit für Sie erledigen, wie Apache Cordova. Dies hilft neuen Entwicklern, ihre Ideen an alle und erfahrene Entwickler weiterzugeben, die jetzt Zeit haben, sich Dinge auszudenken, die wir vorher nicht gesehen haben. HTML5, das in eine native App eingebettet ist, kann den Code ausführen und die Ressourcen verwenden, die es aus dem Internet erhält. Ein Entwickler kann diese jedoch auch lokal installieren und den Code dort platzieren, um ehrliche native Offline-Apps zu erhalten.
Aber nicht alles ist großartig an HTML5.
Die Realität von HTML5-Apps
Hier können die Dinge verwirrend werden. Wenn wir an eine Webseite denken, vergessen wir oft, dass eine Webseite ihren Code nur an eine Browser-Engine sendet und es unser Gerät ist, das die Arbeit erledigt. Das bedeutet, dass Geolocation, Audio- und Video-Chat in Echtzeit, 3D-beschleunigte Grafiken und vieles mehr für Entwickler nicht nur möglich, sondern auch einfach in HTML5 zu implementieren sind. Das liegt daran, dass ein Normungsgremium gesagt hat: "Hey Leute, wir müssen alle diese bestimmte Sache auf diese besondere Weise tun, und ein Entwickler kann uns bitten, dies so zu tun."
Das ist jedenfalls das Ziel. Die Realität kann ein bisschen anders sein, und wir müssen uns nur die Videowiedergabe ansehen, um ein gutes Beispiel dafür zu finden, warum. Jeder Browser, den Sie verwenden möchten, unterstützt HTML5: Chrome, Opera, Internet Explorer, Edge, Firefox und Safari sind HTML5-Browser und unterstützen die Videowiedergabe, sobald ein Entwickler nur ein paar Wörter eingibt, die auf ein Video verweisen. Alle Arten von tragbaren Web-View-Komponenten, die diese Apps enthalten, können dasselbe tun, da sie dieselbe Rendering-Engine verwenden.
Wenn Sie keine Regeln durchsetzen, werden sie zu Vorschlägen. diejenigen, denen niemand folgen will.
Sie unterstützen jedoch nicht alle die gleiche Art von Video, da HTML5 plattformübergreifend, offen und nicht proprietär ist, sodass sie von niemandem gezwungen werden, alle Formate zu unterstützen. Ogg Theora ist ein beliebtes Videoformat, das jeder Browser unterstützt, mit Ausnahme des Internet Explorers, der auf vielen Computern der Standardbrowser ist. H.264 ist noch populärer, aber es ist nicht offen oder kostenlos, so dass Firefox es nicht unterstützt. VP8 und WebM können kostenlos verwendet und geöffnet werden und werden von jeder Browser-Engine unterstützt. Internet Explorer und Safari erfordern jedoch, dass der Benutzer Support abruft und installiert. Technisch unterstützt HTML5 die Wiedergabe von HD-Videos und ist für Entwickler sehr einfach zu implementieren. In der realen Welt wird nur die richtige Art von Video unterstützt.
YouTube spielt alle Videos mit HTML5 ab, da Google das Geld hat, um die von Ihnen hochgeladenen Videos zu konvertieren.
HTML5 hängt auch von der verwendeten Hardware ab und davon, wie kompetent der Entwickler beim Schreiben des Codes ist. Die Auswahl der falschen JavaScript-Bibliothek führt möglicherweise immer noch zum gleichen Ergebnis, kann jedoch auch zu Speicherverlusten führen und die DOM-Manipulation (Dokumentobjektmodell - wird beim Laden einer Seite oder App erstellt und schließt jedes Element auf der Seite oder in der App als ein Ein separates "Dokument" kann eine HTML5-App selbst auf der besten Hardware nur sehr langsam machen. Auf Telefonen, die nicht so leistungsfähig sind, führt dies schnell dazu, dass Benutzer Ihre App deinstallieren.
Das ist nicht das einzige Problem. Wenn Sie eine HTML5-App erstellen, die alles aus dem Internet bezieht, müssen Sie sich mit Ladezeiten befassen. Dadurch wird die Verbindungsgeschwindigkeit eines Benutzers in die Liste der Faktoren aufgenommen, die dazu führen können, dass Ihre App langsam ausgeführt wird, sowie die physischen Fähigkeiten der Hardware (viele Telefone verwenden Prozessoren, die nicht gerade schnell sind) und die Codeoptimierung. Wenn es eine Sekunde dauert, um Ihren Code auf einem Benutzergerät anzuzeigen, und 10 Sekunden, um ihn aus dem Internet abzurufen, werden Sie viele unglückliche Benutzer haben.
Die Facebook-App ist ein Beispiel dafür, was mit HTML5 nicht stimmt, genauso wie Instagram ein Beispiel dafür, was richtig ist.
Es gibt ein exzellentes Beispiel dafür, und fast jeder von uns war unglücklich, egal welchen Telefontyp wir verwenden: die Facebook-App. Die Facebook-App ist im Grunde eine Webansicht, die in einen Rahmen eingebettet ist, der die Schaltflächen enthält und die Verwaltung Ihrer Kontoanmeldeinformationen oder Push-Nachrichten auf eine Weise unterstützt, die vom Betriebssystem genehmigt wird. Alles, was in der App passiert, wird mit HTML5 erledigt, und es ist einfach zu viel, um es zu handhaben, wenn Sie das Abrufen aller Daten aus dem Internet berücksichtigen. Entwickler fügen Facebook immer mehr hinzu und Benutzer veröffentlichen große Dateien, die auf gehostet werden Orte außerhalb von Facebook, und es gibt Millionen und Abermillionen von Menschen, die rund um die Uhr auf die Server von Facebook zugreifen. Das macht die Apps langsam zu aktualisieren, sehr leistungshungrig und das Thema viele Beschwerden.
Die mobile Website von Facebook ist ebenfalls in HTML5 geschrieben, wurde jedoch so konzipiert, dass sie nur wenig Ressourcen benötigt, da sie für den mobilen Einsatz geeignet ist. Auf diese Weise können Sie den gewünschten Inhalt schneller laden, auch wenn der gesamte Inhalt nicht so schön angezeigt wird wie in der Vollansicht. Dies ist auch der Grund, warum die mobile Website und die Facebook "Lite" -Apps, die darauf verweisen, so viel besser funktionieren als die offizielle Facebook-App. Und das ist nicht nur ein Facebook-Problem - es gibt viele Apps, die alle ihre Funktionen mit HTML5 unterstützen würden, die aber genauso komplex sind (ein schönes Wort für aufgebläht, weil sie schon eine Weile bestehen und sich ständig ändern) wie Facebook und würde genauso handeln.
Möchte ich mehr HTML5-Apps sehen oder nicht?
Ja! Aber nicht alle Apps.
HTML5 ist in vielen Dingen wirklich gut und bietet Entwicklern eine großartige Möglichkeit, ihre Zeit zu nutzen, um über kreative Ideen nachzudenken, anstatt ein Objective-C- oder C ++ - Referenzhandbuch durchzuarbeiten. Aber manchmal ist es die starre Struktur der Entwicklungssprachen, die einen Entwickler dazu zwingt, bestimmte Dinge zu tun, was dazu führt, dass das Endergebnis auf unseren Handys besser funktioniert.
HTML5-Apps können ein Albtraum sein, wie wir es in der Facebook-App sehen, oder sie können ziemlich beeindruckend sein, wie wir es in der mobilen Google Mail-Website sehen. Oder Uber. Oder Instagram. Oder eine der Hunderten von HTML5-Apps, die wir täglich verwenden. Darüber sollten wir uns keine Sorgen machen, aber es ist eine Sache, über die Entwickler endlos debattieren müssen. Und jetzt, während sie diskutieren und versuchen, Sie davon zu überzeugen, was besser ist, wissen Sie ein wenig darüber, warum sie die Dinge sagen, die sie sagen.
Für Einkäufe über unsere Links können wir eine Provision verdienen. Mehr erfahren.