In letzter Zeit gab es viele Streitigkeiten über HTML5. Viele Leute glauben, dass das Aufkommen von HTML5 Flash sofort töten wird, weshalb es in den großen Web-Frontend-Entwicklungsforen viele Streitigkeiten gibt. Ein paar Worte im Forum reichten nicht aus, um mich zufriedenzustellen, also musste ich auf meinem eigenen Drittel Hektar Land darüber sprechen. Seien Sie auch ein Zauberstab und freuen Sie sich auf die Zukunft der Web-Frontend-Entwicklung. Zunächst einmal bezieht sich das hier erwähnte HTML5 nicht nur auf HTML5 selbst, sondern im Allgemeinen auf die gesamte Web-Frontend-Technologie, die in HTML5, CSS3, JavaScript und neuen Browser-APIs enthalten ist.
Wer braucht HTML5?
Google braucht es am meisten! Auch Apple Jobs verlangen es. Aber diese beiden haben definitiv ihre eigene Agenda. Für Microsoft ist das egal, sie haben sowieso immer noch Silverlight.
Mozilla/Firefox, eine gemeinnützige Organisation, verfolgt möglicherweise ein edleres Ziel und unterstützt W3C-Standards. Der Browser-Marktanteil von Opera ist so gering, dass wahrscheinlich noch nicht viel darüber nachgedacht wurde.
Dem Cloud-Computing-Imperium von Google fehlt es an einem Client, der RIA (Rich Internet Applications) umfassende Internetanwendungen unterstützt. Stellen Sie sich vor, dass die Desktop-Software-Umgebung des Microsoft-Imperiums stark gefährdet sein wird, wenn HTML5 populär wird und mehr Anwendungen auf den BS-Modus umsteigen. Der seit vielen Jahren begehrte Google dürfte der größte Nutznießer sein. Wenn Sie das kostenlose Google Doc mit ähnlichen Funktionen wie MS Word auf einem Computer mit einem kostenlosen Betriebssystem verwenden können, zahlen Sie dann trotzdem für Microsoft Word? Geben Sie immer noch Geld für ein Betriebssystem aus, wenn Sie für Ihre Office-Anwendungen nur das Öffnen eines Browserfensters benötigen? Die Benutzeroberfläche des Betriebssystems Chrome OS von Google verdeutlicht diese Absicht bereits.
Jobs braucht auch HTML5. Er möchte, dass der Browser Video und Audio nativ unterstützt, damit das iPhone und das iPad Flash nicht einbinden müssen. Wer soll sonst die Spiele im App Store kaufen? Wenn gleichzeitig eine große Anzahl von Anwendungen browserbasiert implementiert werden kann, bleiben Benutzer nicht bei Windows-Desktopanwendungen hängen. Wer liebt nicht einen schönen Mac-Computer?
Sie wählten HTML5 für größere Ambitionen und hofften, dass HTML5 Veränderungen im gesamten Software-Ökosystem bewirken und gleichzeitig Flash vermeiden würde, das nicht unter ihrer Kontrolle stand.
Macromedia und später der Marktführer Adobe erkannten die Entwicklungsbedürfnisse von Internetanwendungen und verbesserten Flash kontinuierlich, sodass es über die Funktionen des Browsers selbst hinausging. Auch große Browserhersteller haben die Nachfrage nach dieser Art von Anwendung erkannt und geben sich nicht mit einer Funktion zufrieden, die vom Browser implementiert werden sollte. Sie haben sie mit einem Plugin von mehreren Megabyte Größe implementiert und es ist populär geworden. Deshalb haben wir keine Mühen gescheut, um HTML5 zu fördern und gezielt auf Flash zu setzen.
Wollen Benutzer HTML5? Was Benutzer wollen, ist nicht Technologie, sondern Anwendungen und Erfahrung. Wenn Sie Ajax verwenden können, um eine Happy Farm zu implementieren, wird es meiner Meinung nach niemanden interessieren, ob sie aus Flash besteht.
Wollen Entwickler HTML5? Dafür ist eine ausgereifte HTML5+CSS3+JS-Entwicklungsumgebung erforderlich, und jeder Browser muss ein einheitliches Benutzererlebnis bieten, also vollständige Kompatibilität mit Standards. Hinzu kommen noch neue Lernkosten.
Vorteile von Flash?
Wie ist Flash besser als HTML5? Leistung, Funktionalität? Was wäre, wenn HTML5 über ein DOM verfügt, das allen in Flash integrierten Objekten ähnelt, sowie über GPU-2D- und 3D-Beschleunigung? Das ist nicht unmöglich, schließlich ist HTML5 noch ein Entwurf. Natürlich kann Flash auch kontinuierlich aktualisiert werden.
Entwicklungsgruppe
Ich denke, der Vorteil von Flash liegt in den Entwicklern. Nach mehr als zehn Jahren Erfahrung haben sich viele hervorragende Künstler, Programmierer und interaktive Designer auf die Entwicklung interaktiver Medien auf der Flash-Plattform konzentriert. Es hat auch unzähligen Klassenbibliotheken ermöglicht, über AS-Versionen zu verfügen, wie z. B. FLARToolKit, Touchlib, OpenCV und andere C++-Bibliotheken für Interaktion und Bildanalyse, die auf die Flash-Plattform übertragen wurden. Es gibt ein relativ ausgereiftes Open-Source-Flex-Framework für RIA-Anwendungen. Immer mehr Unternehmen versuchen, Flex als Ersatz für Ajax-Frameworks wie Ext zu verwenden, um Kunden ein besseres RIA-Anwendungserlebnis zu bieten.
nachhaltige Entwicklung
FlashPlayer ist ein geschlossenes System, das ausschließlich von Adoeb gesteuert wird. Dies ist eine Schwäche, aber auch ein technischer Vorteil. Es kann jederzeit neue Technologien und neue Funktionen hinzufügen. HTML5 ist ein offener Standard. Da es sich um einen Standard handelt, bedeutet dies, dass er sich nicht häufig ändert. Für Flash-Verbesserungen und -Upgrades müssen Benutzer lediglich das FlashPlayer-Plug-in aktualisieren, und Plug-in-Upgrades sind im Vergleich zu Benutzern leicht. Verbesserungen der HTML-Standards erfordern ein Upgrade der Browser, was für den Benutzer eine relativ schwere Aufgabe darstellt, insbesondere da viele Menschen immer noch nicht verstehen, was ein Browser ist.
Sobald der offene HTML5-Standard fertiggestellt ist, wird er einen langen Lebenszyklus haben. Heute ist es eine ausreichend fortgeschrittene Funktion, aber in zehn Jahren wird es noch so sein. Genau wie damals, als wir HTML4+CSS2+JS verwendeten und selbstgefällig waren und dachten, es sei genug, um Webanwendungen auszudrücken, wer hätte sich vorstellen können, dass sich die Welt heute durch die kontinuierliche Verbesserung von Flash öffnet. Vielleicht sollten wir zehn Jahre später noch einmal über das Thema HTML6 diskutieren, das Flash vernichtet.
Jenseits von Webanwendungen
Wenn SUN damals auf Java-Applets achten könnte, gäbe es heute vielleicht kein Flash mehr und SUN wäre nicht in der Lage, übernommen zu werden. Und jetzt hat Adobe AIR dafür gesorgt, dass Flash die Java-Applets übertrifft, wodurch Flash das Web übertrifft und sich vom Browser löst. Die Funktionen von Flash wurden bis heute kontinuierlich weiterentwickelt und auch im Multimedia-Bereich verdichtet es den Anwendungsraum seines großen Bruders Director immer weiter. Die Realisierung von Multi-Touch, Gesichtserkennung, Socket-Kommunikationssynchronisation, AR Augmented Reality, Echtzeitvideo und anderen Funktionen auf der Flash-Plattform hat dazu geführt, dass immer mehr interaktive Multimedia-Projekte Flash-Lösungen verwenden.
Ich hoffe, dass Adobe die Möglichkeiten der Adobe AIR-Plattform weiter ausbauen und die Leistung verbessern wird. Immer mehr plattformübergreifende Desktop-Anwendungen können auf AIR implementiert werden.
Nachteile von Flash?
Das Urheberrecht an FlashPlayer ist privat.
Der Inhalt von SWF-Dateien ist relativ geschlossen und nicht suchmaschinenfreundlich.
Sicherheitsrisiken von Plug-Ins.
Verglichen mit der Lernkurve und den Lernkosten der Ajax-Technologie.
FlashPlayer 94 % Installationsrate!=100 %.
iPhoneOS unterstützt Flash eindeutig nicht und die Ersttagsbestellungen des iPad in Höhe von 120.000 Exemplaren dürften einen großen Markt eröffnen.
3D-Hardwarebeschleunigung wird nicht unterstützt. Wenn FlashPlayer die 3D-Hardwarebeschleunigung unterstützt, wird die vorhandene 2D-Vektor-Engine definitiv neu geschrieben. Angesichts der Leistung von ShockWave 3D ist es für die FlashPlayer-Hardware 3D schwierig, eine gute Benutzererfahrung zu erzielen.
Womit ersetzt HTML5 Flash?
Funktion: Dem übermittelten Inhalt nach zu urteilen, wurden viele weitere semantische Tags hinzugefügt. Wenn der Browser mit einem großen Flash-Player verglichen wird, ist dies nichts anderes als das Hinzufügen neue Klassen und neue APIs. Diese APIs werden dann von JavaScript aufgerufen. Soll HTML5 Flash vollständig ersetzen, muss es zumindest ähnliche Funktionen wie Flashplayer10 bieten. Das sollte kein Problem sein, WebSocket, WebSQL, WebGL ... oder sogar WebQt hinzuzufügen, WebMFC kann endlos einfallsreich sein. Oder verwandeln Sie den Browser einfach in eine große virtuelle Maschine, um Javas Desktop-Wunsch zu erfüllen. Bei ausreichender Nachfragedynamik ist das alles kein Problem.
Leistung: In vielen Artikeln von HTML5-Radikalen wird darauf hingewiesen, dass die derzeitige Ineffizienz von Flash zu Browserabstürzen führt. Ist Flash wirklich so ineffizient? Definitiv nicht, es liegt einfach an dem Missbrauch von Flash und ungleichen Web-Frontend-Entwicklern. Wenn Sie die JS-Engine des IE verwenden, um eine Ajax-Version der XX-Farm zu schreiben, und alle Seitenwerbeanimationen in JS geschrieben sind, würde dies meiner Meinung nach als Ineffizienz bezeichnet werden. Wenn Flash wirklich ineffizient ist, warum werden dann so viele Webspiele nicht mit Ajax erstellt? Warum sind viele gut optimierte Flash3D-Spielszenen sehr flüssig, aber eine 2D-XX-Farm kann Ihren Core 2 verlangsamen? Uninformierte und unausgegorene Entwickler führen mangelnde Reaktionsfähigkeit und Abstürze des Browsers immer auf die Ineffizienz von Flash zurück. Wenn HTML5 Flash in Zukunft ersetzen möchte, muss es daher über eine effiziente 2D/3D-Grafik- und Text-Rendering-Engine sowie eine effiziente JavaScript-Engine verfügen. Dies kann zu einer besseren Benutzererfahrung führen. Sind alle Browserhersteller darauf vorbereitet? Chrome und Opera scheinen diesen Weg zu gehen.
Kompatibilität: Der HTML4-Standard existiert seit mehr als zehn Jahren, und heute werden wir auch den CSS-Stilnamen fxckIE6 aufschreiben. Das größte Problem wird die Browserkompatibilität sein, insbesondere HTML5 und CSS3, nachdem viele Funktionen hinzugefügt wurden. Wie koordinieren die großen Jungs hinter IE, Firefox, Chrome und Safari? Hier besteht ein Widerspruch. Um differenzierte Produkte zu entwickeln, müssen wir homogene Funktionen bereitstellen. JS-Leistung, Tabbed-Browsing, synchronisierte Sammlungen, Plug-Ins und andere Funktionen, die das Benutzererlebnis verbessern, sind alles Richtungen der Differenzierung. Wenn es so etwas wie ActiveX gibt, das wieder nur IE ist, wäre es besser, die HTML4-Methode unverändert zu lassen.
Entwicklungsmodell: Flash IDE vereint unzählige herausragende Künstler, UI-Designer und interaktive Programmdesigner, um letztendlich Flash zu erreichen. Dies hängt auch mit der Attraktivität von Macromedia und Adobe in den Bereichen Grafikdesign und interaktives Design zusammen. Die HTML5-Interaktion wird JavaScript auf eine neue Ebene heben, was definitiv eine ausgereifte Entwicklungsumgebung erfordert. Weiter DW+Firebug? Oder wird DW auf eine neue interaktive HTML5-Entwicklungs-IDE aktualisiert, oder wird Microsoft VS dies tun oder Eclipse? Nur eine ausgereifte Entwicklungsumgebung kann Talente sammeln, grenzenlose Kreativität anregen und mehr Inhalte bereitstellen. Rich Content bringt natürlich mehr Nutzer.
Bereitstellung: Das ist das wichtigste Problem. Ohne diesen Schritt ist alles Null. Wie stelle ich die neue Version von Flash bereit? Es ist in Ordnung, das Plug-in basierend auf einer Desktop-Freigabe von mehr als 90 % zu aktualisieren. Wie man HTML5 bereitstellt und den Browser aktualisiert, ist etwas schwierig. Schauen Sie sich den hartnäckigen IE6 an. Ich habe gehört, dass jemand vorgeschlagen hat, dass Microsoft IE-Updates in das System ServerPack integrieren soll. Ich kann nur sagen, dass diese Idee gut ist, aber der Vorschlaghammer des Kartellrechts wird Microsoft definitiv töten. Wie können Benutzer also dazu gebracht werden, ihre Browser zu aktualisieren? Für Internet-„Kernnutzer“ stellt dies kein Problem dar. Derzeit verwenden viele Leute die Chrome-Entwicklungsversion, die einige Funktionen von HTML5 und CSS3 unterstützt. Aber diese „Light User“ verstehen möglicherweise nicht einmal den Zusammenhang zwischen dem Fenster, in dem sie täglich Webseiten lesen, und dem Browser. Dies erfordert eine HTML5-Killeranwendung als Anleitung. „Light-Benutzer“ werden den Browser fast nie basierend auf der Technologie aktualisieren, sondern nur basierend auf den Anwendungsanforderungen. Beispielsweise unterstützt YouTube keine IE6-Benutzer mehr, sodass Benutzer, denen YouTube-Videos gefallen, vor einem erneuten Besuch auf IE6 aktualisieren. Benutzer werden sich wegen der schlechten Kompatibilität mit HTML-Standards nicht für ein Update entscheiden. Dies ist unvermeidlich. Wo ist also die Killeranwendung von HTML5? Oder haben sie alle den Einfluss und die Anziehungskraft von YouTube? Und wer würde bei einer Website ohne diese Attraktivität voreilig die Führung übernehmen und HTML5 unterstützen und von den Benutzern verlangen, ihre Browser zu aktualisieren? Diese Websites geraten unweigerlich in ein Gefangenendilemma, und bei einem wiederholten Gefangenendilemma wird das Spiel wiederholt gespielt. Schließlich werden wir vollständig in die HTML5-Ära eintreten. Dieser Vorgang kann kurz oder lang sein. Schließlich ist das bestehende Web-Frontend noch nicht an einem Punkt des Zusammenbruchs angelangt, aber das liegt an der beeindruckenden Leistung von Plug-Ins wie Flash und JS-Frameworks wie jQuery.
Zusammenfassen
HTML5 ist kein dringender Bedarf für Benutzeranwendungen, sondern eher ein strategischer Bedarf für Hersteller, um zu versuchen, die ökologische Softwarelandschaft zu verändern.
Angesichts der bisherigen Leistung der wichtigsten Browser bleibt die Kompatibilität von HTML5 abzuwarten und es ist nicht angebracht, Anwendungen sofort zu migrieren.
HTML5 erfordert eine ausgereifte und vollständige Entwicklungsumgebung, mit der Notepad + Browser nicht umgehen kann.
Angesichts der explosionsartigen Zunahme der HTML5-Funktionen muss der Browser über eine effiziente Grafik- und Skript-Engine verfügen.
HTML5 benötigt eine Killeranwendung, um Benutzer anzulocken und anzuleiten, ihre Browser zu aktualisieren und letztendlich die Bereitstellung von HTML5-Terminals abzuschließen.
Flash ist eine sich ständig weiterentwickelnde Technologie mit großer Flexibilität. HTML5 kann Flash nicht vollständig ersetzen, und viele Entwickler werden Flash nicht vollständig aufgeben.
Ich hoffe, dass sich Adobe AIR besser entwickeln kann, sodass Flash Browser-Webanwendungen übertreffen und Betriebssysteme überspannen kann, mit besserer Entwicklung und mehr Anwendungen.
Text/IT168