【心得】flash才是RIA的王道吧

      我的javascript探索应该做个了结了吧~

      javascript是副七巧板,虽然能拼出的图案有限,但是充分发挥你的想象力,还是可以拼出令人称奇的图案。

      这些年用js做了各种各样的特效以及小游戏,无一例外就是为了说明js+css是很强大的组合,可以创造出各种意想不到的有趣玩意。但js终究还是脚本,尽管他可以实现各种强大复杂的效果,但需要付出更多的代价,无论是开发效率,还是运行效率。

      如今众多浏览器占据天下,而每个浏览器都有自己的特性,想用js来一次开发到处运行似乎是种奢望。举个简单的例子,ie支持滤镜,其他的都没有;而其他的浏览器都支持画布,唯独ie没有。但又出了ie9,变得可以有。那究竟用不用滤镜呢,用不用画布呢?用了当然比不用好,但是用了之后必须给不支持的浏览器另找一个替代方法。。。有时为了一个并不复杂的效果,需要研究各种版本,可算是费尽心机。

      不过作为javascript的纯粹爱好者,这种疯狂付出也算是值得吧~但有时仔细想想,把巧妙的创意用在内容的实现上,而不是内容本身上,是不是很是一种浪费呢。举例来说,以前我写过一个用css制作圆形放大镜的帖子。这个效果用flash做那是再简单不过了,而用js+css却是费劲周折。且不说制作的过程,就论效果,js实现占用超过50%的CPU,而flash实现的几乎不到1%!

      同样的,在为用不用html5画布发愁的时候,flash早已提供了丰富的绘图接口。在考虑js用哪种方式播放声音,哪种方式传送数据,flash都已内置了这些功能,并且各种浏览器都保持一致的表现,再也不用关心浏览器的兼容性了。

      事实上,这在10多年前用java applet就可以实现的事。不过java虚拟机并非每台电脑都安装了,而flash插件如今几乎已成了系统的一部分,缺了它很多门户网站都无法正常显示。既然xmlhttp也是一个插件,也把他纳入纯js的一部分,并且乐此不疲。那么几乎所有电脑都可以运行的flash也该成为js的一部分吧~

      flash自然也有不少办不到的事。例如DOM的交互,页面的排版等等。但是很多时候用纯粹的js开发功能复杂的RIA还是很得不偿失。用flash唯一一个缺点就是没法实现鼠标右键,会弹出个flash的菜单。但相比其强大的功能和兼容性,这点瑕疵也算不了什么。

      当然,也并非要完全放弃js改用flash。用纯XX来实现某件事往往是很不明智的。事实上,访问你网站的用户有几个是了解技术的,他们又怎会关心你是用什么方法实现的?他们关心的是运行速度,兼容性,有没有错误。你的优雅简洁纯XX的代码只能给少数几个业内访客观赏。

      所以,最理想的方法,莫过于利用起flash强大的媒体功能,及其快速的计算速度,配合js前端的灵活交互,实现js+flash,开创一个新的Web前端局面!

posted @ 2011-04-30 23:36  EtherDream  阅读(2386)  评论(9编辑  收藏  举报