论坛首页 编程语言技术论坛

Flash 主要的缺点

浏览 10009 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-04-25  
毫无疑问,Flash 是一种伟大的技术。而且由于早年做 ColdFusion 开发的经验,我对于 Macromedia 这家公司充满了好感。如果时间允许,我也希望能去好好学习一下 Flash。但是这里我要谈一下 Flash 主要的缺点,用来和基于 HTML/CSS/JavaScript 的技术做个比较。尽管如此,我仍然认为 Flash 是一种值得投入大量精力去学习的技术。至少在现在,Flash 在表现能力方面仍然具有领先优势,而且从开发简便的角度,还要胜过 HTML/CSS/JavaScript。

简而言之,Flash 最大的缺点就是它基于一种私有的二进制格式。也就是说它有两个缺点。
1、二进制格式
我们知道,Web 发展的趋势是 Semantic Web,要实现 Semantic Web,Web 上存在的内容就一定要是基于文本的,而 Flash 的二进制格式与这个趋势是背道而驰的。实际上,以前我是对 SVG 充满期待的。据说 Firefox 的下一个版本就要直接支持 SVG 了。SVG 是非常好的矢量格式,支持动画(声音的同步还不能支持,这使得 SVG 很大地落后于 Flash),并且可以非常容易地使用 JavaScript 来操作。而且 SVG 是完全的文本,其内容可以被搜索引擎搜索到,能够搜索 Flash 内容的搜索引擎我还没有听说过。Adobe 收购了 Macromedia,使得我对于 SVG 的前途恢复了一些信心。对于以内容为主的站点,例如一个门户网站、新闻站点、论坛、BBS、Wiki,HTML/CSS/JavaScript 还是首选,Flash 只能起到一些辅助作用。

2、私有,而非标准
Flash 的格式是私有的,这限制了它的应用范围,也限制了用 Flash 建造的站点可以访问的用户数量。当然对于主流的浏览器,例如 IE/Firefox/Opera 上使用 Flash 是完全没有问题(除非你没有装 Flash 插件)。但是你要想想将来可以访问 Internet 的设备不仅仅限于安装于 PC 之上的浏览器。网络上没有人知道你是否是一只狗,也没有人知道我 dlee 现在在 JavaEye 上发贴究竟使用的是浏览器,还是使用可以上网的 PDA 或者手机。
当然,我不是一个标准狂热分子,我知道对于一个项目,进度和开发效率意味着什么,所以这个缺点我并不认为非常重要。

其它的缺点还有:
3、Flash 文件经常会很大,用户第一次使用的时候需要忍耐较长的等待时间(无聊的下载进度条和沙漏)。Flash 往往会占用用户更多的带宽,这使得一些拨号的用户难以使用(不可否认,在国内这样的用户数量也是很大的)。不过对于局域网内的 Intranet 应用的用户,应该不是很大的问题。

4、性能问题。如果说复杂的,没有经过良好优化的 JavaScript 开发的应用性能不好的话,那么完全用 Flash+ActionScript 建造的应用的性能也好不到哪里去。不过这只是我的预测,我没有亲自测试过。ActionScript 据说是与 ECMAScript 兼容的,那么它究竟能比 JavaScript 强多少呢?其实最重要的不是技术本身谁强谁弱,最重要的还是 Flash 有大量现成的控件可以使用,而 JavaScript 的控件虽然在网上流传的也有很多,但是缺乏标准,下载了以后还需要修改才能使用,或者必须要自己去建造和积累,也许 Ajax 的出现能有效地改变这个局面。

我的意思主要是说,Flash 有它适用的场合,采用 Flash 一定要考虑清楚这种应用是否真的适合用 Flash 建造。如果确实适合,而你们的技术实力又很强,那么就用好了。但是不要仅仅因为对技术本身的兴趣,而贸然采用你们不熟悉的技术。
   发表时间:2005-04-26  
强烈同意1,2点,这样根本没法做比较大的应用。
0 请登录后投票
   发表时间:2005-04-26  
agree.其实每种技术都有其适用性,没有one-size fit all的方案,RIA中除了html+javascript(ajax),
Flash这两条路外,还有一条是c/s,不过c/s也有
不满足Semantic Web的问题,如果要作论坛,
blog等内容系统那就不适合了.
   其实我理想的应用应该是结合b/s和c/s这些技术的优势的,
无安装,自动升级这些b/s特性,讨论已经够多了,也不需要多说了。另外就是操作的友好度以及响应度(c/s特性),理想的应该是
像blog那样,再有一套协议,然后可以使用NewzCrawler那样的来发布文章(每次我想在blogDriver上面发文章都要点半天,等半天,
而且碰上网速慢的时候,等了半天才出来,写作欲望早没了)。然后又可以通过web看,兼具b/s 和c/s的优点。
  blog发布协议走的是标准协议的话,就可以有诸多好处可以支持很多客户端以及不同的软件。
  比如RSS,既可以像PC软件发布,也可以向手机,移动设备等发布。
0 请登录后投票
   发表时间:2005-04-26  
第四点是最致命的问题,前面几点或多或少都能忍受。可以看看这篇blog:http://www.joshbuhler.com/archives/2005/04/how_long_can_fl.html

Flash做RIA性能极其成问题。除非你做的是那种社区式的Rich Interactive的应用,否则别人不可能像开一张普通网页在后台那样的忍受一个在后台耗费了40M的Flash RIA。
0 请登录后投票
   发表时间:2005-05-06  
flash怎么会在后台消耗 40m 内存?
后台根本觉察不到数据来自flash 或者 html
0 请登录后投票
   发表时间:2005-05-06  
认真再看看taowen的话,他是说如果client端在后台打开含有flash的网页窗口(不是最上面的那个窗口),这时会凸现flash的性能问题
chenggn 写道
flash怎么会在后台消耗 40m 内存?
后台根本觉察不到数据来自flash 或者 html
0 请登录后投票
   发表时间:2005-05-06  
我的意思是,Flash的RIA中的业务逻辑如果需要人们长期开着。有时大家是不会把这种程序一直放在前台的。比如聊天工具啊。这个时候把一张含有复杂表现的FlashRIA页面放在后台跑着,前台很有可能就被拖慢了。人们对于这样的网页顺手就一个X,关掉了。太耗内存。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics