Maison interface Web Tutoriel H5 HTML5与Flash对比

HTML5与Flash对比

May 17, 2016 am 09:09 AM
admin

最近网络上最热的话题之一就是“开放式Web技术 HTML5”,从国外媒体到国内媒体均有大量报道。从大量的报道中,如果各位从Google搜索引擎中输入“HTML5 Flash”这2个关键字组合,将会有1百多万条相关的资讯,真是犹如狂风暴雨一般,而现在的IE8,Safari 4和FF 3.5 RC都或多或少的支持了一些HTML5的功能,这就让HTML5的话题讨论更加如火如荼。我们来总结一下其中的话题,基本上是以下几个类型(请原谅我均用问号结束以下的标题,因为我会在后面谈及我的看法):

HTML5让Flash可有可无?
HTML5会为Flash和Silverlight送终么?
HTML5将一统视频插件市场,取代Flash Video?
HTML5将成为Flash杀手?
HTML5或将让Flash过气?
HTML5将严重冲击RIA领域技术?
......

本人仅罗列出以上有代表性的话题,基本可以说与HTML5和Flash这两个词相关的话题80%以上都围绕上述展开,当然有人是正方,有人是反方。对于HTML5和Flash,我希望能够表述一下我的观点,在详细表述之前,先概括一下我的观点:
观点一,我支持HTML5和Open Web技术
观点二,我不认为HTML5将取代现有的Flash,HTML5有很长的路要走

接下来,请让我从各个方面来详细阐述我的观点。
观点一,我支持HTML5与Open Web技术,并且我认为Adobe也会积极推进HTML5开放的标准化工作。Adobe公司是世界上最棒的图形图像多媒体与网络技术应用软件开发公司(原来是图形图像,收购了MM后,我加上了网络应用技术开发)之一,在过去的13年中,Flash从1.0到10.0,逐渐变成了当前互联网上最流行的RIA技术,Web交互体验,音频,视频,游戏,广告,企业Rich UI等等,都能看到Flash的身影,同样,收购了Macromedia公司之后,Adobe也有一套完全遵循和引导Web标准化页面的开发工具,那就是Dreamweaver,其中对于W3C的Web标准和CSS样式标准的支持可谓是推崇备至。我相信,HTML5在Web技术向着开放和标准化领域的进化过程中将起到至关重要的作用,而这一点,我有理由相信,在Web应用开发领域的工具上,Adobe有理由仍然去继续扮演一个支持者的角色。当然,这个支持者的角色也决不仅仅是从开放和标准化的角度出发的,从创新,客户需求和未来的发展机遇上,Adobe都不会轻易拒绝HTML5,并且实际情况就是Adobe是W3C标准和HTML5工作委员会的成员之一,并且已经参与了很多标准化的工作,比如H.264,CSS,PostScript,HTML,SVG和PDF ISO32000等等。

请各位看清楚,Adobe支持HTML5,但是不代表Adobe就会放弃对于Flash的支持,Flash作为一个发展了13年的成熟技术,面临很多挑战的同时,也面临很多机会,当HTML5真的诞生时,Flash会有相当多的机会去进化自己,改良自己,以适应技术发展和创新的潮流。我的观点就是,作为技术领域的领先公司,适时的去支持开放和标准化的技术,将是一个为这家公司带来改良现有产品,开发新应用软件,拓宽业务机遇的绝佳时机,这才是一个成熟的,优秀的公司最明智的策略。就像一个智者(或者是胜利者),总会从挑战和新事物中寻找机会,不断完善和提升自己,而不是去盲目的去抱怨,拒绝和阻碍新事物的诞生。因此,我支持HTML5和Open Web技术,我也坚信Adobe也一定会支持。

观点二,我不认为HTML5将取代Flash。HTML5加入了对于富媒体的支持,让大家的确激动了一把。但是我们静下心来,仔细来阅读下面的一段,相信能够给你带来一些思考。首先,我们来看看HTML5对于富媒体支持的这部分功能,我先大致罗列一下,并写出了Flash Player支持相同功能的年份(不一定100%正确,欢迎补充):
画布标签(2D绘图和动画),这部分Flash Player 1就已经支持,年份是1995年-1996年
视频支持,这部分Flash Player 7开始支持,年份应该是2003年
音频支持,这部分Flash Player 4开始支持,年份应该是1999年
离线存储数据库,这部分Flash Player不支持(仅支持本地Shared Object),确切应该是AIR的1.0开始支持,年份应该是2007年底
拖拽支持,这部分Flash Player 5,Action Script 1开始支持,大概是2000年-2001年间
跨文档消息通讯(协作),这部分功能Flash Player 7开始支持,年份应该是2003年
MIME类型和协议事件侦听注册,HTML独有特征,与Flash无关
新的解析规则,与浏览器解释器有关,与Flash无关
新的元素控件标签,例如进度条,导航,时间,这部分在Flash Player 4的时候,我就能做,年份是1999年,全面控件支持是通过AS2在FP7里实现
新的表单控件,比如日期,时间,邮件,链接等等,这些表单元素在AS1 Component里就已经可以实现,大概是Flash MX和Flash Player 6开始支持,年份是2002年。


关于具体2者的功能对比,请参考我的同事Ryan Stewart的总结。以上这些随着HTML5而来的富媒体元素支持功能,在不同的Flash 版本里实现和进化,经历了至少6个年头,比如FP7的Video支持,况且Flash一直是由Macromedia和Adobe公司不断驱动下的来完成的。随着HTML5在Open Web下的进化,加入了这些类型的功能,我认为Flash有绝佳的机会和时间在重复的功能上做出改进,更加强化自己在丰富媒体领域的针对性地位。现在,互联网领域最硝烟弥漫的战场之一是哪里?没错,是浏览器市场,微软,谷歌,FF,苹果,还有一众大大小小的公司的不同浏览器被卷入这场似乎无休止的战争当中,谁都想从中分一杯羹。HTML5基于Open Web的出现,目前还只是一个雏形,从W3C的进度表上,不难看到,它的交付日期初定在2012年。OK.....我很难想象在这2年多的时间内,各大浏览器厂商会基于HTML5这个开放的Web新一代标准做出何种改进和实现上的需求变化,包括他们能否统一的对于HTML5 2012年推出(如果能按时交付的话)的标准进行一致的浏览器兼容性支持,都是一个大大的问号。HTML5基于Open Web的理念是完美的,但是Open的统一是要付出昂贵的代价的,君不见现在天天都有咆哮声出现在大大小小的HTML标准化兼容的故事里?所以,我认为HTML5的交付和统一之路更加漫长(这当然是我技术出发点不愿意看到的情况),这不仅仅是技术的开放,标准和更新换代的过程,更多的包含了令人匪夷所思的商业博弈在其中。就Flash而言,由于其核心渲染引擎是由Adobe独家拥有(同SL一样,MS独家拥有),其策略思路,进化路线图对于客户和业界的需求的转变也是相当之快,至少目前Flash播放器的版本每12月到18个月就更新一次,而其播放器核心也维持在1MB左右,向下兼容也保持了一贯的一致性。我不敢也不能做出猜测,到了HTML5 2012正式版本交付时,Flash又会加入或进化成什么样子。而Adobe的思路除了要推广维护Flash的地位,也在考虑以适当的进度不断开放其Flash Platform的技术环节。先是开放SWF文件格式规范,然后开放Action Script虚拟机,然后开放Flex SDK,现在开放RTMP协议规范,进而成立开放标准Open Screen Project面向移动设备的未来FP播放器策略,乃至大量的开放的第三方开源类库,不得不说是相当有计划性和策略性。这种方式,用中国的古话是“授人与鱼,不如授之与渔”的绝佳策略,即保证了Flash技术在开发上的开放性,互操作性,又维持了Flash技术核心的安全,高效和版本更新换代的一致性。试想,如果Flash全部开源,市面上出现若干不同版本的Flash播放器,这对于Flash而言,是机会,还是灾难?基于Flash的核心安全性如何得以保证?综合上述的论证,我认为HTML5不会取代Flash,相反,两者将来反而有更好的机会互操作,互整合,为互联网用户提供更加强大的用户体验。愿望是美好的,但是HTML5的成长之路绝对不会一帆风顺。

后记补充:

目前的RIA技术主要由如下四种:

.NET SilverLight技术;

JAVA FX技术

Flash技术

HTML5技术

到底谁能够成为主流,我们得拭目以待。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD
Musée à deux points: toutes les expositions et où les trouver
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment ajouter de l'audio à mon site Web HTML5? Comment ajouter de l'audio à mon site Web HTML5? Mar 10, 2025 pm 03:01 PM

Cet article explique comment intégrer l'audio dans HTML5 en utilisant l'AUDIO & GT; Element, y compris les meilleures pratiques pour la sélection du format (MP3, Ogg Vorbis), l'optimisation des fichiers et le contrôle JavaScript pour la lecture. Il met l'accent sur l'utilisation de plusieurs audio F

Comment gérer la confidentialité de l'emplacement de l'utilisateur et les autorisations avec l'API Geolocation? Comment gérer la confidentialité de l'emplacement de l'utilisateur et les autorisations avec l'API Geolocation? Mar 18, 2025 pm 02:16 PM

L'article traite de la gestion de la confidentialité de l'emplacement des utilisateurs et des autorisations à l'aide de l'API Geolocation, mettant l'accent sur les meilleures pratiques pour demander des autorisations, assurer la sécurité des données et se conformer aux lois sur la confidentialité.

Comment utiliser les balises META de la fenêtre pour contrôler la mise à l'échelle des pages sur les appareils mobiles? Comment utiliser les balises META de la fenêtre pour contrôler la mise à l'échelle des pages sur les appareils mobiles? Mar 13, 2025 pm 08:00 PM

L'article discute de l'utilisation de balises Meta pour contrôler la mise à l'échelle des pages sur les appareils mobiles, en se concentrant sur des paramètres tels que la largeur et l'échelle initiale pour une réactivité et des performances optimales. COMMANDE: 159

Comment utiliser l'API de visibilité de la page HTML5 pour détecter quand une page est visible? Comment utiliser l'API de visibilité de la page HTML5 pour détecter quand une page est visible? Mar 13, 2025 pm 07:51 PM

L'article discute de l'utilisation de l'API de visibilité de la page HTML5 pour détecter la visibilité de la page, améliorer l'expérience utilisateur et optimiser l'utilisation des ressources. Les aspects clés comprennent la pause des supports, la réduction de la charge du processeur et la gestion de l'analyse en fonction des changements de visibilité.

Comment utiliser les formulaires HTML5 pour la saisie de l'utilisateur? Comment utiliser les formulaires HTML5 pour la saisie de l'utilisateur? Mar 10, 2025 pm 02:59 PM

Cet article explique comment créer et valider les formulaires HTML5. Il détaille le & lt; formulaire & gt; élément, types d'entrée (texte, e-mail, numéro, etc.) et attributs (requis, modèle, min, max). Les avantages des formes HTML5 sur les méthodes plus anciennes, incl

Comment créer des jeux interactifs avec HTML5 et JavaScript? Comment créer des jeux interactifs avec HTML5 et JavaScript? Mar 10, 2025 pm 06:34 PM

Cet article détaille la création de jeux HTML5 interactifs à l'aide de JavaScript. Il couvre la conception de jeux, la structure HTML, le style CSS, la logique JavaScript (y compris la gestion des événements et l'animation) et l'intégration audio. Bibliothèques JavaScript essentielles (Phaser, Pi

Comment utiliser l'API HTML5 glisser-déposer pour les interfaces utilisateur interactives? Comment utiliser l'API HTML5 glisser-déposer pour les interfaces utilisateur interactives? Mar 18, 2025 pm 02:17 PM

L'article explique comment utiliser l'API HTML5 Drag and Drop pour créer des interfaces utilisateur interactives, détaillant les étapes pour rendre les éléments dragables, gérer les événements clés et améliorer l'expérience utilisateur avec des commentaires personnalisés. Il discute également des pièges communs à un

Comment utiliser l'API HTML5 WebSockets pour la communication bidirectionnelle entre le client et le serveur? Comment utiliser l'API HTML5 WebSockets pour la communication bidirectionnelle entre le client et le serveur? Mar 12, 2025 pm 03:20 PM

Cet article explique l'API HTML5 WebSockets pour la communication client-serveur bidirectionnelle en temps réel. Il détaille les implémentations côté client (JavaScript) et côté serveur (Python / Flask), résolvant des défis tels que l'évolutivité, la gestion de l'état, un

See all articles