日期:2013-12-29 浏览次数:20593 次
最近关于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这种