Nicht zuletzt befeuert durch die kolportierten Äußerungen von Steve Jobs zu Flash und HTML 5 wird es einmal Zeit, sich des Themas unvoreingenommen zu widmen. Wir nutzen zwar Adobe Flash Technologie in Form von Flex, kleben aber nicht in dem Sinne an einer Technologie wenn es bessere Alternativen dazu gäbe.
Eines der Hauptargumente, das die Ablösung von Flash durch HTML 5 untermauern soll, ist der Einsatz von Video auf Webseiten. Flash hat Webvideo erst salonfähig und massenkompatibel gemacht, weil es kein zusätzliches Plug-in benötigte außer dem, was zumeist ohnehin schon vorhanden war. Von Version zu Version wurde die Qualität und die Performance der Videos besser. Mittlerweile lassen sich Videos in HD ansehen und bald auch in Ansätzen Hardware beschleunigt.
HTML 5 erlaubt nun auch das Abspielen von Videos ohne Plug-in, aber nicht in allen Browsern, sondern nur etwa in Safari oder Google Chrome – bei YouTube etwa kann man die Default-Anzeige umstellen. Die anderen mögen nachziehen, jedoch sieht man daran ein Problem bei HTML 5 und seinen Komplementär-Technologien: Es ist vor allem erst einmal ein Standard. Ein Standard, der nicht dazu verpflichtet von allen Browserherstellern gleich schnell implementiert zu werden. Es kann noch nicht einmal die Garantie gegeben werden, dass der Standard jemals in allen Browsers überhaupt umgesetzt wird – man erinnere sich beispielsweise an die Alleingänge von Microsoft in früheren Versionen des Internet Explorers.
Schaut man sich die großen Player im Web-Videogeschäft einmal, ist man über die reine Darstellung von Videoinhalten zumeist schon hinaus. Auf YouTube etwa werden in die Videos hinein Flashelemente gerendert, die entweder Zusatzinformationen, Werbung oder bei Musiktiteln Links zum direkten Kauf des Tracks einblenden. Diese Overlays in Webvideos stehen erst am Anfang ihrer Möglichkeiten. Reines Videoplayback wird zwar noch wichtig sein, aber durch neue, interaktive Formate ergänzt werden. Hier müssen HTML 5 und auch vermutlich auch HTML 6 passen und falls es doch einmal gehen sollte, wird es sicherlich etliche Jahre dauern, bis es überall zur Verfügung steht – wenn überhaupt.
Wenn es alleine um Video-Playback geht wird man Flash nicht mehr unbedingt benötigen. Aber Flash war nie nur ein Videoplayer sondern immer schon viel mehr, wird aber auch in diesem Feld seinen Platz weiterhin behaupten können.
Ein weiteres Thema in Sachen kommende Webstandards und Flash ist die Frage nach 3D im Browser. Flash kann schon seit langem 3D darstellen, es gibt verschiedene Engines, die von der Frame Rate her locker als Player für anspruchsvolle 3D Spiele dienen können. Mit den jüngeren Flashplayer-Versionen wird 3D auch immer intensiver von der Runtime unterstützt. Flash ist hier schon, wo HTML mit seinen zaghaften Experimenten gerade erst beginnt. 3D CSS ist sicherlich beeindruckend aber es ist momentan nur in experimentellen Versionen des Browserframeworks Webkit möglich, was beispielsweise die Basis für Apples Safari darstellt.
Auch bei 3D stellt sich die Problematik, dass der Zeitraum bis 3D in (eventuell) allen Browsern verfügbar sein sollte, so groß ist, dass Flash einige Jahre Zeit haben wird, seine Fähigkeiten zu erweitern und zu verbessern.
Es gibt sicherlich noch etliche andere Beispiele, an denen man die Problematik zwischen einem Standard und einer konkreten Runtime diskutieren kann. Das Problem ist immer, dass der Runtime-Hersteller dank der Proprietät der Runtime einfach seinen Standard setzt. Und durch die extrem große Verbreitung der Flash Runtime, sichert sie den technologischen Vorsprung und die Entwicklungsgeschwindigkeit, den sie gegenüber den offenen Standards hat.
Selbst wenn der Flashplayer unter Mac, um Steve Jobs Meinung aufzugreifen, vielleicht nicht ganz so performant wie sein Windows-Pendant ist, so muss man auch überlegen, was die Runtime leistet, wenn sie CPU-Ressourcen verbraucht: HD Video, 3D, Spiele, Rich Internet Applications etc. Ein leerer Flashfilm oder eine leere Flexanwendung verbraucht kaum CPU-Zyklen. Der Verbrauch an Prozessorpower liegt zum einen daran, was die Runtime abzuarbeiten hat und zum anderen wie es der Entwickler programmiert hat.
Die Entwicklungen, die HTML 5, 3D CSS und die anderen, neuen Frontend-Technologien vollziehen ist sicherlich bemerkenswert und für Frontend-Entwickler eine nette Spielwiese. Aufgrund einiger zaghafter Anfänge aber bereits das Ende der Flash Technologie Plattform einzuläuten ist mindestens fünf Jahre verfrüht und im gegenwärtigen Stadium auch nicht sachlich. Und letztlich ist es das alte Katz und Maus Spiel: Flash prescht voran und wenn die Webstandards nachziehen, hat Flash wieder einen so gewaltigen Vorsprung und so weiter und so fort…
Ein wichtiger Aspekt: Bei HTML5 herrscht noch keine Einigkeit, welcher Video Codec benutzt werden soll. So will Firefox den h264 Codec nicht nativ einbinden, da er Lizenzbehaftet sein wird (ab 2013, glaube ich). Deshalb setzt Mozilla auf Ogg Theora.
Daher denke ich wird Flash, gerade für Video, noch lange erhalten bleiben _müssen_. Nur wenn h264 endlich openSource wird, keine drohenden Lizenzen wie ein Damoklesschwert über dem Codec schweben, dann gebe ich html5 plattformübergreifend einen Hauch eine Chance ;) Und wer weiß, wie langsam die Mühlen des w3c mahlen, kann sich ausrechnen, wann wir einen “Standard” haben werden.
Exzellenter Artikel!
Lässt hoffen, dass AS3 noch eine Weile eine lebendige Programmiersprache bleibt :)
Ein spannendes Thema wie ich finde, da ich mich selber frage in welche Richtung man sich als Developer weiterbilden soll. Ich bin momentan auf der Flash-Schiene und sehr begeistert welche Möglichkeiten man hier hat. Gerade RIAs sehe ich als nächste Generation von Webseiten an.
Auch TV und Internet verschmelzen immer mehr. Ob es HTML5 schafft den Vorsprung von Flash auf diesen Gebieten einzuholen ist sehr fraglich.
Alleine mit einer simplen Wiedergabe von Videos sicherlich nicht. Da muss schon mehr kommen um Adobe abzulösen.
Da Adobe aber mehr und mehr auch die open source Schiene fährt wird sich deren Entwicklung rasant steigern. RIAs lassen sich heutzutage mit einem einfachen Texteditor und dem frei verfügbaren Flex-SDK ebenso einfach wie damals die ersten HTML-Seiten erstellen.
HTML5 kann definitiv mehr als nur Videos abspielen. Auf der Seite http://www.html5spiele.de kannst du einige Spiele finden, die ohne Probleme mit denen mithalten die man in der Flashwelt findet.
Danke. Prima Artikel. Sicherlich kann HTML5 mehr als nur Videos abspielen. Das wäre verdammt schade, wenn in den vielen Jahren nicht mehr aus den Bemühungen zum nächsten Major-Release resultiert wäre ;) Dennoch schließe ich mich dem Autor in seiner Meinung an, dass HTML noch weit davon entfernt ist Flash gänzlich ablösen zu können. Die gezeigten Spiele (html5spiele.de) können in meinen Augen in keinster Weise in Sachen Look-And-Feel mit aktuellen Flash-Spielen mithalten. Als ich gerade mal verschiede Spiele ausprobiert habe, kam ehrlich gesagt eher ein Retro-Feeling an die guten alten Zeiten von Flash 4-8 auf. Sicherlich würde auch ich sagen, dass es durchaus beeindruckend ist, dass sowas nun ENDLICH auch mit HTML geht, dennoch Stimme ich auch hier dem Autor zu, dass viel zu häufig das verglichen wird, was HTML bald können wird und Flash schon lange kann. Der Vergleich macht nur Sinn, wenn man entweder den jetzigen Snapshot betrachtet oder aber beide Technologien in 2,3,4 oder 10 Jahren (je nachdem wie lange das w3c noch braucht ;) vergleicht. Wer einfach mal ein grobes Gefühl dafür bekommen möchte, was in Sachen Flash-Games JETZT schon ohne weiteres möglich ist, dem empfehle ich einen Blick die Seiten der beiden populären 3D-Frameworks (natives AS3):
http://blog.papervision3d.org/category/games
http://away3d.com/
Ich denke, dass die dort gezeigten Spielewelten die Sprache der heutigen Zockerjugend wirklich sprechen.
Ist vielleicht nur meine persönliche Meinung, aber ich finde, dass da Welten zwischen den HTML5-Games liegen. Und das obwohl, die besagten Frameworks in der aktuellen Version meines Wissens nach noch nicht vollständig die FP10-Features in Sachen 3D unterstützen. Hier wird es in den nächsten 1-2 Jahren nochmal riesige Performancesprünge geben (Hardware/GPU-Unterstützung/direkte Zusammenarbeit mit nVidia etc.). In der nahen Zukunft erwarten also auch wir Flasher/Flexer ähnlich wie bei HTML5 bahnbrechende neue Features (AIR, native Prozesse, Gesten, 3D, Mobile Devices, TV-Support und und und).
Aber ein wenig Konkurrenzkampf tut beiden Technologien bestimmt gut und macht die Arbeit in der virtuellen Welt doch gerade erst so spannend. Ich für meinen Teil, bin auf jeden Fall sehr gespannt, was da mit HTML5 und der Flash Platform noch alles auf uns zukommt. Eine Co-Existenz oder gar ein harmonisches Zusammenspiel will ich da gar mal nicht ausschließen…
In dem Sinne,
Happy Coding!
Simon Widjaja