html5 VS flash

 

来自 孔宪涛的博客

 

html5 VS flash

 

最近关于HTML5吵得火热,很多人认为HTML5出现会秒杀Flash,以至于在各大web前端开发论坛吵得不可开交。 论坛里三言两语说的不够尽兴,只好在自己一亩三分地里敞开了说说。 也当一次神棍,展望一下web前端开发的未来。 首先这里所说的HTML5也不仅指HTML5本身,而是泛指HTML5、CSS3、 JavaScript以及新的浏览器API所包含的整个web端技术。 谁需要HTML5?

Google最需要! Apple的Jobs也需要。 但这两个肯定各怀鬼胎。 微软无所谓了,反正他还有Silverlight。 Mozilla/Firefox非盈利组织,目标可能会高尚些,是w3c标准就要支持。 Opera那点浏览器市场占有率估计还没敢有太多想法。 Google的云计算帝国就差一个支持RIA(Rich Internet Applications)富互联网应用的客户端了,试想 HTML5得到普及,更多的应用转向BS模式时,微软帝国的桌面软件生态环境必定受到很大威胁,垂涎多年的Google一定是最大受益者。 当在一台操作系统免费的电脑上使用和MS Word差不多功能的免费Google Doc时,你还会掏钱买微软的Word吗? 当你所有的办公应用都只需要打开浏览器窗口时,你还会花钱买操作系统吗?Google的Chrome OS操作系统界面已经说明了这个意图。 Jobs也需要HTML5,他是打着小算盘,想让浏览器原生支持视频音频,这样iPhone、 iPad就不用嵌入Flash,Jobs当然不能让Flash进iPhone OS,要不然App Store里的游戏谁去买? 同时,如果大量的应用都能基于浏览器实现时,用户就不会被Windows的桌面应用套牢了。 漂亮的Mac电脑谁不喜欢。

他们选择HTML5都是为了更大野心,期望HTML5带来整个软件生态环境的改变,同时避开不受自己控制的Flash。 Macromedia 和后来的当家Adobe把握住了互联网应用的发展需求,不断的完善的Flash,使之已经超越了浏览器本身的功能。 各大浏览器厂商也看到这种应用的需求,不甘于一个本该浏览器实现的功能,由一个几兆大小的Plugin实现了,并玩的风生水起。 于是不遗余力的推进HTML5,并且矛头直指Flash。

用户想要HTML5吗? 用户要的不是技术,是应用,是体验。 如果你能拿Ajax实现一个开心农场,我想没谁会在乎它是不是Flash做的。 开发者想要HTML5吗? 那需要一个成熟的HTML5+CSS3+JS的开发环境,需要各个浏览器提供统一的用户体验,即标准的完全兼容。 还需要增加新的学习成本。 Flash 的优势? Flash比HTML5强在哪? 性能,功能? 如果说HTML5将拥有和Flash所有内置对像类似的DOM 呢,还有GPU的2D、3D加速呢?这不是没可能,毕竟HTML5还只是草案。 当然Flash也能不停的更新。

开发群体:

Flash 的优势是在开发人员上,十多年的积累,有众多优秀的艺术家、程序员和互动设计师集中在Flash平台上做互动媒体开发。 也使无数的类库有了AS版,如FLARToolKit,Touchlib,OpenCV这些互动、图像分析的c++库都移植到了Flash平台。 在RIA应用上有相对成熟且开源的Flex框架,越来越多的企业在尝试使用Flex替代Ext等Ajax框架,为客户提供更好RIA应用体验。 持续发展: FlashPlayer 是一个封闭的系统,是由Adoeb独家控制,相对于开放的HTML5标准这是弱势,也是技术上的优势,它可以很灵活,可以随时加入新技术,新功能。 而HTML5是一个公开标准,既然是标准就意味着不会经常改动。 Flash的改进升级只需要用户升级FlashPlayer插件,插件的升级相对用户来说,是轻量级的。 HTML标准的改进意味着升级浏览器,这是相对重量级的用户操作,尤其是还有很多人不明白什么是浏览器。 HTML5开放标准一旦确定下来,就会有一个很长的使用周期,今天看是足够先进的功能,十年后呢。 就像当年我们用着HTML4+CSS2+JS沾沾自喜以为足够表现Web应用时,谁能想到今天Flash不断改进所开拓的天地呢。 或许十年后我们又该讨论HTML6秒杀Flash的话题了。

超越web应用:

如果当时SUN能重视Java Applet,或许就没有Flash的今天,SUN也不会沦落到被收购的境地。 而如今Adobe AIR更是让Flash超越Java Applet,让Flash超越了web,脱离了浏览器。 Flash到如今功能不断增强,在多媒体领域也在不断地压缩自家老大哥Director的应用空间。 多点触摸、人脸识别、Socket通讯同步、AR增强现实、实时视频等等功能在Flash平台上的实现,让越来越多的互动多媒体项目采用Flash方案。 希望Adobe继续能扩展Adobe AIR平台的功能,提高性能。 能有越来越多的跨平台桌面应用在AIR上实现。 Flash 的劣势? FlashPlayer版权私有。 swf文件的内容相对封闭,搜索引擎不友好。 插件的安全隐患。相对与Ajax技术的学习曲线及学习成本。 FlashPlayer 94%装机率!=100%。 iPhoneOS明确不支持Flash,而iPad首日12万的订单,预计将会开启一个大市场。 不支持3D硬件加速。 FlashPlayer如果支持3D硬件加速,必将重写现有的2D矢量引擎,鉴于ShockWave 3D的表现,FlashPlayer 硬件3D,很难有很好的用户体验!

HTML5拿什么取代Flash 功能:

HTML5目前还只是草案,从已提交的内容来看,增加了许多更具语义的标签,新的标签意味着在DOM中增加新的类,如果把浏览器比做一个大的 Flashplayer,HTML5无非就是在增加新的类,新的API。 然后由JavaScript来调用这些API。 如果HTML5要完全取代Flash,至少要提供和Flashplayer10相似的功能。 这应该不是问题,添加WebSocket 、WebSQL、WebGL……甚至WebQt、WebMFC都是可以无尽畅想的。 或者干脆把浏览器就做成一个大虚拟机,完成Java的桌面遗愿。 如果有足够的需求动力,这些都不是问题。

性能:

在很多HTML5激进派的文章里,都痛指目前Flash的效率低下,导致浏览崩溃。 真的是Flash效率低到如此不堪吗? 肯定不是,只是Flash的滥用和参差不齐的Web前端开发人员造成的。 同样如果用IE的JS引擎写一个Ajax版的XX农场,如果所有页面广告动画都用JS来写,我想那才叫效率低下。 如果真的Flash效率低,为什么那么多网页游戏都不是Ajax做的呢? 为什么很多优化的很好的Flash3D游戏场景都很流畅,而一个2D的XX农场就能拖慢你的酷睿2呢? 不明真相的半吊子开发人员总是把浏览器不响应和崩溃归结于Flash效率低下。所以未来HTML5要取代Flash 必须有一个高效的2D/3D图形文字渲染引擎,和一个高效的JavaScript引擎。 这样才能带来更好的用户体验。 这些,众浏览器厂商都准备好了吗? Chrome和Opera似乎正在走这条路。

兼容性:

HTML4 标准已经十多年了,今天我们还会写下fxckIE6的CSS样式名。 浏览器的兼容性会是最大的问题,尤其是加入n多特性后的HTML5和CSS3。 IE,Firefox,Chrome,Safari这些浏览器背后的大佬们,怎么去协调呢? 这有个矛盾,开发差异化的产品,却要提供同质化的功能。 JS性能、标签浏览,同步收藏,插件这些提高用户体验的功能,都是这些差异化的方向。 如果再出现类似ActiveX这类IE only的东西,那还不如维持HTML4这种方式不变。

开发模式:

Flash IDE将无数优秀的艺术家、UI设计师和互动程序设计师团结在一起,最终成就了Flash,这也与Macromedia和Adobe在图形设计和互动设计 群体中的号召力不无关系。 HTML5的互动会将JavaScript提高到一个新的高度,这必将需要一个成熟的开发环境。 继续DW+Firebug? 或者DW升级为全新的HTML5互动开发IDE,或者微软VS来干这件事,或者是Eclipse? 成熟的开发环境才能聚拢人才,才能激发无穷的创造力,带来更多的内容。 丰富的内容自然带来更多用户。

部署:

这是最重要的一个问题,没有这一步,一切都是零。 Flash新版本怎么部署? 在90%多桌面占有率的基础上更新插件就OK。 HTML5怎么部署,更新浏览器,这个有点难,看看顽强的IE6。 听到有人建议微软在系统ServerPack里包含IE更新,只能说这想法很好,但是反垄断的大锤一定会把微软砸死。 那怎么引导用户去升级浏览器呢? 对于互联网「Core User」来说不是问题,目前支持HTML5和CSS3部分特性的Chrome开发版,很多人都在用了。 但是那些「Light User」呢,可能连天天看网页用的这个窗口跟浏览器是什么关系都不明白。 这需要一个HTML5的杀手级应用去引导,「Light User」几乎不会以技术为导向去升级浏览器的,他们只会以应用需求为导向去升级。 比如YouTube不再支持IE6用户,这样喜欢YouTube视频的用户会去升级IE6再来访问。 用户不会是因为IE6的HTML标准兼容差而选择更新IE6,这是必然的。

那HTML5的杀手级应用在哪里呢? 或者说都有Youtube这样的影响力和号召力吗? 而没有这种号召力的网站,谁会贸然率先支持HTML5来要求用户升级浏览器吗? 这些网站之间必定会陷入囚徒困境中,在重复的囚徒困境中,博弈被反覆地进行。 最终才会全面进入HTML5时代。 这个过程或者很短,也可能很长。 毕竟现存的Web前端还没到不堪的地步,反倒是由于Flash这些插件和jQuery这些JS框架弄的有声有色。 总结 HTML5不是用户应用的迫切需求,更多是厂商试图改变软件生态格局的战略需求。 HTML5的兼容性鉴于各大浏览器的以往表现,有待观望,不宜立即迁移应用。 HTML5需要一个成熟完整的开发环境,记事本+浏览器对付不了。 HTML5功能的暴增,浏览器必须有一个高效的图形引擎和脚本引擎。 HTML5需要杀手级应用来吸引和引导用户升级浏览器,最终完成HTML5终端的部署。 Flash是一个不断在发展的技术,有很强的灵活性,HTML5不可能完全取代Flash,众多的开发人员也不会断然抛弃Flash。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值