You smiled and talked to me of nothing and I felt that for this I had been waiting long.

The trees come up to my window like the yearning voice of the dumb earth.

BlogJava 首页 新随笔 联系 聚合 管理
  19 Posts :: 10 Stories :: 25 Comments :: 0 Trackbacks

Ajax同Flash比较

关于Flash和Ajax哪个更好有很多说法。这里整理了一些评判标准,你可以自己决定哪个更适合你的网站。

Ajax应用

我对于Ajax的定义是:

DHTML + XHR = Ajax

这就是说Ajax既要使web页面有奇特的效果,也要能和服务器动态通信来减少等待时间。 一些人有范围更小的定义,但是我在这里使用这个定义。

能帮助实现Ajax应用开发的框架有很多。DWR只是其中之一,除此之外还有Dojo、Prototype等等。

Flash应用

Flash可以代表很多东西。在这里Flash意思是.swf文件。这在技术上可能令人有些小小的误解,但是它的应用却十分广泛。这个世界上只有一种Flash技术,但是有很多工具帮助你生成Flash(.swf)文件,例如Swish和Laszlo

Macromedia公司有一个如何用Flash开发富互联网应用的展示。

为什么Ajax更好?

可搜索

一般来说,web页面比Flash页面更容易被搜索引擎分析。搜索引擎可以根据你的网站的类型做出不同的反映。把Flash应用中的文字提取出来做 为索引是能够实现。Google和其他的搜索引擎制作商能够支持.swf文件的索引。尽管如此.swf文件还是更难被所有引擎分析。

开放性

尽管swf文件格式是公开的,并且也有一个很大的开源社区。但是没有开源的Flash播放器来代替Macromedia的许可证。偏激的开发人员希望有更加开发的系统,而不希望依赖与第三方或者潜在的竞争对手也许希望避免使用Flash。

成本

Flash开发环境的成本是个问题。$700可能是一下小设计室的大投资。多数公司都希望成本最好是$0。

也有一些便宜的可选的工具如Swish,或者免费的Laszlo,但是这些工具不能发挥Flash全部优势。

辅助工具

Ajax应用默认采用用户环境中的字体和颜色设置,而Flash应用采用开发者指定的设置。这就使其难以适应残疾用户的要求。在一些特殊情况下需要屏幕阅读器,加速键等,Flash应用就不能使用了。一个支持辅助工具的站点可以用Ajax实现。

安全

没有Flash的Web应用一般来说比较安全,主要有以下原因:

  • Flash一般用来做广告
  • 有可能被pop-up拦截器阻拦
  • 他能产生不过期的cookie

结果很多用户使用Flash拦截器来控制web访问。或者不访问Flash站点。

人们要编写复杂的Ajax或者Flash应用肯定要用到一些高级工具。但是一般来说Ajax开发需要的工具比Flash的更简单,更便宜。

Flash好在哪里?

处理多媒体

Flash比存HTML能更好的处理声音和图片。因为现在多媒体非常丰富,现在的前40位网站上大多数包含Flash。

兼容性:因为只有一个Flash播放器提供商,所以你不需要在不同的浏览器商经行测试。上面提到的开放性在这里是弱项。Web应用逐渐向两个趋势发展:

  • 可用的浏览器明显比几年前要少,并且它们的bug也越来越少。
  • 能够跨浏览器兼容工作的库越来越多。

矢量图形

矢量图形在多数浏览器中都是支持的,或通过SVG(Mozilla 1.5 原生支持,其他浏览器通过插件),或通过Canvas元素(Safari和Mozilla 1.5),或通过DirectAnimation(IE4+)。尽管如此,没有一个实现是通用的,也没有一个插件是免费的。

最近Google宣称要通过Javascript实现一个叫ExplorerCanvas的技术来使IE支持Canvas。

另外还有基于div的展示程序,例如Walter Zorn

访问机器

Flash应用比web应用更好的访问机器上资源。Flash应用程序可以访问摄像头和其他外围设备。纯web应用是做不到的。当然这也可以被看作一种缺点。

结论

哪个更好? 看你要干什么!

posted on 2008-05-29 16:28 钩子 阅读(211) 评论(0)  编辑  收藏 所属分类: opensources