Flash和HTML5那点事:后者拿什么取代Flash?

来源:互联网 发布:斗鱼妃凌雪淘宝店多少 编辑:程序博客网 时间:2024/05/16 06:33

======================================================
注:本文源代码点此下载
======================================================

感谢匿名人士的投递

新闻来源:so雷so昏

最近关于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。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击