`
hacker47
  • 浏览: 340609 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

阅读更多

取这个标题,难免会惹来幼稚和可笑之闲,打心底压根儿没有拿这两者来比过,因为这两者是否具有可比性本身是个疑问.可是最近一些朋友的公司却一直在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的经验和想法,大家不妨一起分享,表示感谢!

分享到:
评论
58 楼 zhengshina5 2008-12-04  
不用考虑带宽了,带宽不会是flex ,swf的问题,
问题是自己写的程序为什么要那么多行代码,为什么写的代码那么让多代码,为什么一天写10000行代码才拿100块钱,为什么老外一天写100行代码拿10000块钱。

如果你非把网站做的大于1MB了的话,我还是觉得你应该考虑下你的代码结构,以及代码质量是否有问题
57 楼 futureliyj 2008-12-04  
1.从技术的发展上看,extjs是基于js的,是一种开放式的标准,一般的大公司都会支持,目前来看,google支持得最厉害,不但自己很多应用大量使用JS,现在还推出了Google Chrome,gwt等,对js的支持那是没得话说,FLEX是adobe公司的产品,不是开放式的语言,我觉的在这方面来讲,extjs和flex就像java和微软的.net,但是flex还比不上.net的地位,因为adobe比不上microsolft,flex最多像当年的power builder,pb现在基本上是走向末路了
因此,从发展上看,js技术应该会快速发展,不断壮大,而flex的路只会越走越窄,
56 楼 unrealgf 2008-12-03  
peacock 写道
unrealgf 写道
对于FLEX 我情有独钟,,谁说就不能做门户了??要是明天新浪全站都换FLEX 我就不信访问量会下降,,至于带宽问题,,,,我想说的是 对于.SWF文件 大家有没有想过用上P2P呢...那样门户FLEX就会成为可能   毕竟 FLEX只是用来显示数据的外壳,,P2P之完全可行,, 哪怕用户等待20S下载下来.SWF,(20*80k ADSL)1.6M的 SWF足以装下站点的骨架了把何况还可以分模块的嘛 至于UI效果..参考下官方做的"手机选购"DEMO 我不多说了谁用AJAX做的出来我马上转行  EXT我想说的就是 性能真的很低下,,GRID 数据一旦上千,,,浏览器的末日



世界上没这么多如果!要真有,我也如果一次:如果新浪敢全站用Flex,我就不信新浪不倒闭!

麻烦你给个“手机选购”那个Demo,我想看看是否真那么神!

ExtJS性能低下,这个除了表格,我倒还没发现,但这个问题官方已经知道,还在改进中,这个根本就不是什么大问题,因为在浏览器的用table显示几千条数据也不是什么大不了的事情。

既然要说ExtJS,那就得说说Google Chrome,在这东西没出现之前,大家都以为JS死了,所以MS才大力发展类似于Flex的技术——SilverLight,结果呢,当Chrome出来的时候,那段时间到处都闹得沸沸扬扬,那不是炒作,微软不会因为炒作弄得这么激动和害怕!因为Chrome的出现,让JS又活了。再看看现在的浏览器,哪个浏览器不在开发自己的JS引擎?IE 8、FF、Opera等等,都在下一个版本中加入新的JS引擎,目前都已经接近或者超过Chrome的V8引擎,如果你没用Chrome来运行过ExtJS系统,那你应该去好好尝试下了,去感受感受,再来评价ExtJS是否性能低下。




手机选购的DEMO ADB的官网上有啊,我不是BS AJAX 我也喜欢它 但是我会用它来调后台,不会用来做UI,理由很简单JS DEBUG起来太痛苦咯 虽然FIREBUG还不错 但是FIREBUG以后用IE照样一堆问题, EXT以前我的公司是用过的,,每个人都弄得头昏脑胀的.这个是全公司同仁得出的共同结论,可能因为当时EXT还不成熟的原因.还有不知道各位注意到没有淘宝目前有东东已经是FLEX 新浪的博客似乎有网络视频功能也是FLEX的
55 楼 earls 2008-11-17  
Flex和EXT从框架上而言各有优缺点。
1、flex采用AS脚本和MXML比ext单一采用js要好。
2、flex的组件模型不如ext更强大。
3、flex皮肤比ext简单。
4、带宽方面ext其实一点都不好,必须把完整的文件加载进来(当然不排除高手写一套按需加载功能),Flex的RSL和分模块方式可以有效减小文件大小,感觉是不错。也符合未来带宽发展方向。
5、从脚本而言,我觉得AS比JS更先进,如果AS能更简洁点那就完美了。
54 楼 shgen 2008-11-04  
unrealgf 写道
对于FLEX 我情有独钟,,谁说就不能做门户了??要是明天新浪全站都换FLEX 我就不信访问量会下降,,至于带宽问题,,,,我想说的是 对于.SWF文件 大家有没有想过用上P2P呢...那样门户FLEX就会成为可能   毕竟 FLEX只是用来显示数据的外壳,,P2P之完全可行,, 哪怕用户等待20S下载下来.SWF,(20*80k ADSL)1.6M的 SWF足以装下站点的骨架了把何况还可以分模块的嘛 至于UI效果..参考下官方做的"手机选购"DEMO 我不多说了谁用AJAX做的出来我马上转行  EXT我想说的就是 性能真的很低下,,GRID 数据一旦上千,,,浏览器的末日



任何一个产品都不是万能的,就好比你不会只喝一种饮料。
FLEX主要是体验上,有桌面的感觉。不用像网页跳来跳去,这样就觉得速度快,
另外就是开发前台方便吧。
53 楼 peacock 2008-10-31  
unrealgf 写道
对于FLEX 我情有独钟,,谁说就不能做门户了??要是明天新浪全站都换FLEX 我就不信访问量会下降,,至于带宽问题,,,,我想说的是 对于.SWF文件 大家有没有想过用上P2P呢...那样门户FLEX就会成为可能   毕竟 FLEX只是用来显示数据的外壳,,P2P之完全可行,, 哪怕用户等待20S下载下来.SWF,(20*80k ADSL)1.6M的 SWF足以装下站点的骨架了把何况还可以分模块的嘛 至于UI效果..参考下官方做的"手机选购"DEMO 我不多说了谁用AJAX做的出来我马上转行  EXT我想说的就是 性能真的很低下,,GRID 数据一旦上千,,,浏览器的末日



世界上没这么多如果!要真有,我也如果一次:如果新浪敢全站用Flex,我就不信新浪不倒闭!

麻烦你给个“手机选购”那个Demo,我想看看是否真那么神!

ExtJS性能低下,这个除了表格,我倒还没发现,但这个问题官方已经知道,还在改进中,这个根本就不是什么大问题,因为在浏览器的用table显示几千条数据也不是什么大不了的事情。

既然要说ExtJS,那就得说说Google Chrome,在这东西没出现之前,大家都以为JS死了,所以MS才大力发展类似于Flex的技术——SilverLight,结果呢,当Chrome出来的时候,那段时间到处都闹得沸沸扬扬,那不是炒作,微软不会因为炒作弄得这么激动和害怕!因为Chrome的出现,让JS又活了。再看看现在的浏览器,哪个浏览器不在开发自己的JS引擎?IE 8、FF、Opera等等,都在下一个版本中加入新的JS引擎,目前都已经接近或者超过Chrome的V8引擎,如果你没用Chrome来运行过ExtJS系统,那你应该去好好尝试下了,去感受感受,再来评价ExtJS是否性能低下。
52 楼 unrealgf 2008-10-31  
对于FLEX 我情有独钟,,谁说就不能做门户了??要是明天新浪全站都换FLEX 我就不信访问量会下降,,至于带宽问题,,,,我想说的是 对于.SWF文件 大家有没有想过用上P2P呢...那样门户FLEX就会成为可能   毕竟 FLEX只是用来显示数据的外壳,,P2P之完全可行,, 哪怕用户等待20S下载下来.SWF,(20*80k ADSL)1.6M的 SWF足以装下站点的骨架了把何况还可以分模块的嘛 至于UI效果..参考下官方做的"手机选购"DEMO 我不多说了谁用AJAX做的出来我马上转行  EXT我想说的就是 性能真的很低下,,GRID 数据一旦上千,,,浏览器的末日

51 楼 zhuzhiwu 2008-10-31  
用flex做些上传照片,在线视频等应用还是十分的好,用户无需安装插件,
我认为jQuery+Flex才是无敌!
50 楼 koalant 2008-10-16  
icewubin 写道
koalant 写道


好像现阶段无法针对动态内容做索引的,如果你在 flash 中嵌入静态文本没问题,但是这样的做法只针对少量文本,即便在广告 mini site 制作中都很少采用。


我的想法是,改变模式,比如论坛,再做个最简陋的的传统页面,专供SEO,其上提供原始地址,很多传统网站不少就是这样的策略。



我也是这个想法, 网站如果已经有了一个传统的版本,就不必再更新了,专门给搜索引擎用,然后用 flex 之类的技术开发新版本。
49 楼 icewubin 2008-10-16  
koalant 写道


好像现阶段无法针对动态内容做索引的,如果你在 flash 中嵌入静态文本没问题,但是这样的做法只针对少量文本,即便在广告 mini site 制作中都很少采用。


我的想法是,改变模式,比如论坛,再做个最简陋的的传统页面,专供SEO,其上提供原始地址,很多传统网站不少就是这样的策略。
48 楼 koalant 2008-10-16  
icewubin 写道


其他网站 写道
Google 以及 Yahoo 即将联合对网站中的 Flash 内容提供搜索,Google 和 Yahoo 都在开发相应的 Flash 索引技术,该技术不需要网站所有者做任何额外的工作。




好像现阶段无法针对动态内容做索引的,如果你在 flash 中嵌入静态文本没问题,但是这样的做法只针对少量文本,即便在广告 mini site 制作中都很少采用。
47 楼 icewubin 2008-10-16  
koalant 写道
saymore 写道
   最近才接触Flex , 他的效果太让我兴奋了。 但我考虑的是Flex 会不会真正得到推广,我想一个很重要的因素就是带宽了。



又不是做视频网站,跟带宽没什么关系吧。 做普通应用,几百K的 Flash, 分模块加载,有进度提示,也不比普通网站页面大多少,你去用 Firebug 去看看现在那些要加载一堆 js 的网站,累积的加载文件大小也不比用 flash 的网站小啊。

Flex 可能的问题大概就是 SEO, 对于做 Intranet 的应用来说就不是问题了。



其他网站 写道
Google 以及 Yahoo 即将联合对网站中的 Flash 内容提供搜索,Google 和 Yahoo 都在开发相应的 Flash 索引技术,该技术不需要网站所有者做任何额外的工作。

46 楼 koalant 2008-10-16  
saymore 写道
   最近才接触Flex , 他的效果太让我兴奋了。 但我考虑的是Flex 会不会真正得到推广,我想一个很重要的因素就是带宽了。



又不是做视频网站,跟带宽没什么关系吧。 做普通应用,几百K的 Flash, 分模块加载,有进度提示,也不比普通网站页面大多少,你去用 Firebug 去看看现在那些要加载一堆 js 的网站,累积的加载文件大小也不比用 flash 的网站小啊。

Flex 可能的问题大概就是 SEO, 对于做 Intranet 的应用来说就不是问题了。
45 楼 icewubin 2008-10-16  
saymore 写道
   最近才接触Flex , 他的效果太让我兴奋了。 但我考虑的是Flex 会不会真正得到推广,我想一个很重要的因素就是带宽了。


Flex现在好像可以分部下载,而不用直接加载一个大的swf。
44 楼 saymore 2008-10-16  
   最近才接触Flex , 他的效果太让我兴奋了。 但我考虑的是Flex 会不会真正得到推广,我想一个很重要的因素就是带宽了。
43 楼 icewubin 2008-10-16  
xxrrss 写道
icewubin 写道
Else 写道
我比较同意peacock的观点,flex的UI真的谈不上华丽,我认为以adobe的实力,要开发出一个很多的UI是没什么问题的,它可能只是想提供一个基础UI


那您觉得哪个UI华丽?苹果的操作系统么?

最近同时买了一个apple的手机,那UI真华丽!


就等这句话了,大家想一下如果苹果公司来做类似于Flex的框架,会做成什么样子呢?
42 楼 xxrrss 2008-10-16  
icewubin 写道
Else 写道
我比较同意peacock的观点,flex的UI真的谈不上华丽,我认为以adobe的实力,要开发出一个很多的UI是没什么问题的,它可能只是想提供一个基础UI


那您觉得哪个UI华丽?苹果的操作系统么?

最近同时买了一个apple的手机,那UI真华丽!
41 楼 xxrrss 2008-10-16  
achun 写道
我认为这种问法的出发点有问题。
UI分设计和实现两部分。
设计是艺术,当然也有软件操作技术
实现是技术,当然也有代码艺术
如果设计人员在设计的时候总受实现技术的限制,会影响设计灵感.
相反,设计出来后,受技术选型的限制实现不了,那就是技术水平问题了.
LZ这样的问法,明显有唯一选择题,划分阵营的意味.
实际上路有很多条,而且可以并行的.
作为程序员,应该学习不同的技术,应用需要什么就用什么!
让我们多学习点吧.



强烈同意楼上的说法!但是应用需要什么,这也是一个选择题!
40 楼 javapro 2008-10-12  
也許有了帶寬flex才能在國內web上流行,不過企業方案用flex當下就可行!flex很值得去學習.
39 楼 icewubin 2008-10-09  
Else 写道
我比较同意peacock的观点,flex的UI真的谈不上华丽,我认为以adobe的实力,要开发出一个很多的UI是没什么问题的,它可能只是想提供一个基础UI


那您觉得哪个UI华丽?苹果的操作系统么?

相关推荐

    flex-messaging-core.jar

    在flex-messaging-core.jar中,包含了一些关键组件和接口,例如: 1. **MessageBroker**: 这是Flex消息传递系统的中心,它管理消息的路由,调度和处理。MessageBroker实例化并配置了各种服务,如HTTP、HTTPS、RTMP...

    flex-messaging-core-4.7.3.jar

    flex-messaging-core-4.7.3.jar 最新版,下载了好长时间才下载下来,亲测可用!

    flex-messaging-4.7.3最新版本的jar

    Flex Messaging是Adobe Flex框架的一部分,它提供了一个强大的实时通信平台,允许客户端(通常是Flex应用程序)与服务器进行双向数据交换。4.7.3版本是这个组件的一个更新,它可能包含了性能提升、错误修复以及新的...

    Forex-Flex-EA-V4.91_flexEA_海龟MT4_ea_mt4_ea源码_

    本文将围绕“Forex-Flex-EA-V4.91”这一特定的EA,以及它如何结合经典“海龟交易策略”在MetaTrader 4(MT4)平台上运行,进行深入探讨。 Forex-Flex-EA-V4.91是一款专为MT4设计的智能交易系统,其核心在于灵活适应...

    flex-iframe-1.4.6

    3. **文档**:可能包含README文件或其他形式的文档,详细解释了如何安装、配置和使用flex-iframe-1.4.6库,包括API参考和使用示例。 4. **许可证文件**:开源项目通常会包含一个LICENSE文件,说明了该项目的授权...

    flex-messaging系列jar包

    5. **flex-messaging-opt.jar**:这个可选的库通常包含了一些额外的功能或优化,可能根据项目需求选择使用。具体的内容可能包括性能增强、额外的协议支持或其他特定服务。 6. **flex-messaging-remoting.jar**:...

    flex-messaging-core

    flex-messaging-core jar包

    flex-messaging-proxy.jar

    flex-messaging-proxy.jarflex-messaging-proxy.jarflex-messaging-proxy.jarflex-messaging-proxy.jar

    flex-messaging-common

    flex-messaging-common

    spring-flex-1.5.0.M2-dist.zip

    这个名为“spring-flex-1.5.0.M2-dist.zip”的压缩包,包含了Spring Flex 1.5.0.M2版本的所有必要组件,使得开发者能够快速地开发和部署基于Flex的客户端应用。 在Spring Flex 1.5.0.M2中,核心组件`spring-flex-...

    flex-messaging-common.jar

    flex-messaging-common.jar

    flex-messaging-core-amf1.7

    flex-messaging-core-amf1.7

    flex-messaging-remoting.jar

    flex-messaging-remoting.jarflex-messaging-remoting.jarflex-messaging-remoting.jarflex-messaging-remoting.jar

    flex-messaging-opt.jar

    flex-messaging-opt.jarflex-messaging-opt.jarflex-messaging-opt.jarflex-messaging-opt.jar

    Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar

    Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar...

    flex-messaging-common-1.0.jar

    flex-messaging-common-1.0.jar 资源共享,有需要其他jar包的可以在评论留言,看到后我会陆续上传。

    FLEX提高篇--------AIR应用程序的托盘及托盘菜单的制作

    在本文中,我们将深入探讨如何使用Adobe Flex和Adobe AIR技术来创建应用程序的系统托盘以及托盘菜单。Flex是一款强大的开发框架,用于构建富互联网应用(RIA),而AIR(Adobe Integrated Runtime)则允许这些Flex...

Global site tag (gtag.js) - Google Analytics