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

FLEX探讨篇--------大话客户端,FLEX和EXT你选谁?

浏览 44357 次
精华帖 (2) :: 良好帖 (11) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-07-08  

取这个标题,难免会惹来幼稚和可笑之闲,打心底压根儿没有拿这两者来比过,因为这两者是否具有可比性本身是个疑问.可是最近一些朋友的公司却一直在UI的技术选型上犯愁.一些朋友这么问我,所以我想把自己的想法罗列在此,仅供参考.

先申明,我不是什么牛人,也不是FLEX和EXT方面的高手,甚至对EXT并没有在项目中亲自实践过,写此文之前我问自己,凭什么在此发言? 最后我找到一个说服自己的欠充分的理由.既然有人发问,就应该个答案,既然我不能更清楚地说出答案,何不以此做为源头,让更多的人来揭开这层面纱,此文难免落入俗套,请大家海涵.


不啰嗦了,进入主题吧.

FLEX和EXT该选谁?

 

一:从项目的风险上来考虑:


  项目能否成功,一定程度上并不关技术鸟事儿.因为不同的技术可能达到同样的效果.而我们往往只选取最有把握的一种技术,这其实就是让项目归避了风险,那么这两者中哪一种技术你更有把握呢? 大家自己更清楚,不过我可以大概地分析下两者目前使用现状来做个推测或猜测.不排除有例外.

FLEX在国内已明显比国外慢了半拍,从FLEX的相关学习资料可以得出这一结论,记得从FLEX2开始我重新开始了对FLEX(以前玩过FLASH)的关注,那时我还在神龙汽车公司里做实施项目用的是SSH架构.项目中有很多有关经销商的数据需要统计和比较,客户非常希望能够直接在系统中看到各经销商特定数据项比较的结果,当时苦于没能说服经理采用FLEX的CHART来实现这一功能,而采用了BO报表这个庞大的系统来"高射炮打蚊子",当时提出FLEX技术项目组的同志们闻所未闻,我简单地说是FLASH的一种技术,大家听罢都敬而远之.说FLASH依赖于FP.后来学习FLEX变成了我的业余爱好.当然现在在国内大概不会再出现类似的情况了,FLEX以及微软的SL大有山雨欲来风满楼的架势.CSDN的孟岩说"RIA是趋势",我想倒底是不是趋势大家能感受得到.在这里我想表明一点,其实是EXT已经被众多企业以及用户所接受,但FLEX还在考验和推广的路途之中.回到风险的考虑上来讲,你的团队中真正懂FLEX的人不多,或者根本就没有.因为大家都没有FLEX方面的经验积累,如果你贸然采用FLEX,一旦在你的项目中遇到FLEX本身或者你的团队不能解决的难题,而又很难在寻求外界的技术支援时,你的项目势必为摇摇欲坠.这种惊心动魄我想大家都不想感受.而EXT听起来虽然是个新名词,但正如XX人所说,AJAX只是一个新瓶装老酒的DD,我们几乎不需要额外的学习就可以完美的实现"拿来主义",而且我们还可以根据自己的需求来修改内部的代码.所以就目前来讲,EXT的技术风险远低于FLEX.

 

二:学习和培训的成本:


要上一个项目,如果你的团队没有FLEX的经验也没有EXT的经验积累.别无它法,一:让团队成员自学然后交流,二:给团队成员培训一下.而不管是学习还是培训,EXT会更快地让大家所接受,所以EXT的学习培训成本或者说成是使用成本更低.(当然这只是就当前的项目而言,从公司长远的考虑,学习FLEX这个投入可能会得到更高的回报, 这是后话).

 

三:企业运营的成本:


BS结构的DD,server是运营时的重头戏,带宽的大小,服务器的负载能力....因素,在项目开发之前技术选型时都要经过深入考究,本着"问题都要在项目开始之先暴露的原则",我们不能视FLEX项目的更高的带宽要求而不见;FLEX在第一次将整个项目SWF下载到客户端缓存,所以如果项目大载入会非常慢,鉴于国内的带宽状况似乎还很不乐观,这一点是几乎是FLEX技术选择时最为头疼的问题,这里或许有人会反驳说,有办法解决:我想很严肃地回驳,没办法解决,运用RSL以及module只能缓解这种尴尬;

针对这一尴尬.adobe官方有这么一说,FLEX是为企业级用户准备的,当然如果你做的是企业级方案,那这一尴尬确实可以不再让其蒙羞;所以FLEX在外网的解决方案的使用上似乎要更加慎重考虑

再回到话题上来,FLEX与EXT相比所需的带宽要求要高得多,如果最终用户的网络带宽不理想,你用FLEX做再华丽的,再炫,再牛的用户体验,他也体会不到.当系统的并发数急剧增加时,企业的服务器要相应地提高对用户的响应速度,也需要加大带宽,运用木桶原理,可能需要增加的带宽不小(本人没有数据来说明,因为没有做过测试),支付的费用也会成若干倍增加.

 

四:开发效率和维护成本


看到上面,好像我更倾向于采用EXT,似乎我把FLEX说得一无是处,其实不然,FLEX也是时代的英雄,只是他的演出才刚拉开帷幕,从开发效率上来讲EXT根本没法跟FLEX相提并论,有以下几点大家可以比较一下,
1.FLEX可以完全基于可视化拖曳,丰富组件,以及傻瓜式的自定扩展,可以让你对UI高枕无忧.
2.FLEX有基于EC的插件以及FB独立IDE,有EC的使用经验这方面是得心应手的,调试编辑,跟JAVA几乎雷同,比EXT的JS要省心得多.
3.用户体验,这是FLEX的强项了,我就不说了;
4.跨平台,这也是FLEX的强项,我也不说了;
5.搜索引擎,这一点以前有人一直把这当成FLEX的把柄,说FLEX不能更好的被搜索,刚刚放出来的新闻,大家可能都看到了,FLEX现在也开始支持GOOGLE,和雅虎的搜索了,至于其它搜索引擎,那是迟早的事儿了吧.而EXT好像还没有这方面的动静儿.
6.维护成本,其实从1,2两点似乎就已经得出了结论;

 

五:从企业引入新技术的的收益来看:


公司引入新技术,往往并不单纯是为了眼下的单个项目,公司更渴望通过这个项目能够有技术的积累和经验的积累,而FLEX集众多亮点于一身,必然是富客户端时代的宠儿.(这里我不想来讨论FLEX与MS的SL的优劣,因为这两者不管谁是谁非,谁都无法取代谁,就像JAVA和.net一样.)如果企业能很及时的引入和积累FLEX技术,或许可以在与客户的竞标过程中更加引人入目,还可能让自己的产品更加丰富多彩.而EXT,我从别人那里听来的是EXT只是AJAX技术过渡产物中的一种,或许他不会消失,或许他还会继续在AJAX的天空里夺光炫目,或许还有其它可能.而FLEX却像一个婴儿,还有很长的路要走,我独胆断定FLEX的生命周期要比EXT更长更久.


六:FLEX和EXT你到底选谁?

 

我再重复一下我个人的观点:我认为EXT只是一个作品,它能让你创作的地方可能不会很多,而FLEX却是一个真正的工具,你可以发挥你的想象为客户去做任何事情.
那么如果在上面的五点你经过均衡之后你能轻松地得出答案,那么你的答案应该没错儿,但如果还是无从选择,那我推荐使用FLEX.别忘了,把你使用FLEX的心得跟大家一同分享.


将此文发出来,我一直很担心,怕太多个人幼稚的观点,招来唾骂,但我写此文的目的,在文前已经说明,只是想做为一个引子,让大家借题发挥各自的看法,如果你有EXT和FLEX的经验和想法,大家不妨一起分享,表示感谢!

   发表时间:2008-07-09  
Ext是一个纯js的UI库,优势大概有使用简单方便,界面美观。缺点也明显的很。
目前主要是效率,对于大型企业级项目还是放弃ext的好。

FLEX不太了解,既然是企业级的应用平台,定位就和ext不太一样。
0 请登录后投票
   发表时间:2008-07-09  
我们现在在用flex做一个银行的信贷系统,因为技术较新,确实遇到了一些问题。但是都先后解决了。与以前的用jsp做前台显示相比,flex做出来的效果确实让我们项目组振奋
0 请登录后投票
   发表时间:2008-07-09  
看同事预研FLEX做的东西 效率和效果的确远大于EXT 不过将FLEX和传统B/S系统结合起来还需要找一条最佳实践的道路
0 请登录后投票
   发表时间:2008-07-09  
正在为学习ext或者是flex而思考  谢谢了
0 请登录后投票
   发表时间:2008-07-09  
flex和ext都使用过一点。关于开发跟lz的观点基本相同。Flex的开发相对ext来说还是方便,不是因为as语言比js好用(当然使用flex还要学习as,不过如果你的ecmascript很好的话,就比较容易),主要在于可视化开发环境。感觉flex的资料还是要比ext的多些,毕竟有adobe公司的支持。不过有一点是值得注意的,就是flex开发非常非常耗费资源,2G的内存经常导致eclipse内存不足后强制退出。这是在以前没有发生的事。记得在bea大会上,adobe演示flex时还说演示机器很慢,当时还在想你明知很慢为什么不用一台更快的机器演示,现在想想他们看来也很无奈。
0 请登录后投票
   发表时间:2008-07-11  
我们公司也在大范围的搞,我们项目级5个人都在学习FLEX,下一个项目看现在的情况是准备使用Flex了.新技术,开发的过程要不停的遇到问题,解决问题.可能会很难.但这都不是我担心的问题,我所担心的,我们的程序在公网上跑,网络带宽是不是能够支持我们的项目.我极为担忧.
0 请登录后投票
   发表时间:2008-07-11  
凭心而论,用FLEX最为令人担忧的就是带宽的问题.
0 请登录后投票
   发表时间:2008-07-27  
既然是企业级的开发。我想 大部分都是内网 而不是那种门户类的。所以内网内访问速度 应该不是难题。。
项目中。还是尽量的 减少使用flex脚本连接后台。尽量的还是只让它做web页面的数据展现。一切处理 提交到后台。
2 请登录后投票
   发表时间:2008-07-29  
文章分析的比较中肯.
我的看法是,客户端要求很富的话,就用flex,比如企业内部系统
其他用prototype/jquery
另外局部可以采用flex,比如网页某一块用个投票聊天什么的。
不过我不会花时间去研究ext.
你觉得呢?
希望看到更多关于flex做局部应用的好文章:)


0 请登录后投票
论坛首页 编程语言技术版

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