`
hacker47
  • 浏览: 340530 次
  • 性别: 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的经验和想法,大家不妨一起分享,表示感谢!

分享到:
评论
78 楼 javaeyebird 2009-05-17  
都不用。js方面用objot,as方面只用flash player内置的api,不用flex库
77 楼 zhaoxuanyi 2009-05-17  
ayaga 写道
感觉MS的帮助文件比Adobe做的好,Flex都没有对HTML控件的例子。


您好 ,您看过
控件例子:
http://examples.adobe.com/flex3/componentexplorer/explorer.html
还有下面 两个:
http://www.adobe.com/devnet/flex/
http://flex.org/
76 楼 jprobe 2009-05-16  
这个技术选型大家评论了这么久,有用这两个框架都成功做过系统的人吗??
75 楼 jprobe 2009-05-16  
妈的,浪费时间做了半天测试
74 楼 ayaga 2009-04-30  
感觉MS的帮助文件比Adobe做的好,Flex都没有对HTML控件的例子。
73 楼 Asdpboy 2009-04-13  
nbkangta 写道
Flex是next generation的东西,带宽内存都要顾及

自从flex3.0 发布以来,adobe就在这方面做了很多优化。你可以google一下。这方面资料不少。现在这个基本就不是问题了。呵呵
72 楼 Asdpboy 2009-04-13  
liqiotto 写道
ext 已然被我从技术选型条目中pass掉了

未来,当然是属于flex的

也不能这么说,现在ria技术四大雄起flex,javaFx,silverlight,curl,特别是silverlight,自从silverlight2.0发布以后其影响确实不小。
71 楼 Asdpboy 2009-04-13  
我个人认为企业级应用还是用flex得好,现在用flex做成大型企业级应用的挺多的。
现在公司做的几个系统全是用的ext,之前考虑过用flex,但是一直没有找到合适的人。而ext却有人比较熟悉,现在做出来的系统,不能说做得烂,但是性能问题实在让人头疼,ext实现前后台交互真不敢恭维,对系统影响太大。
做企业级应用ext基本就可以pass了。
70 楼 mikeandmore 2009-04-12  
flash player在我这里就从来没发输入中文过。。。
而且速度超级卡。。。
69 楼 liqiotto 2009-04-12  
ext 已然被我从技术选型条目中pass掉了

未来,当然是属于flex的
68 楼 richardlovejob 2009-04-10  
flhuang 写道
qq空间应该就是国内较早使用flex(准确的说是flash)做UI的吧?

这个不知道啊,希望腾讯公司的程序员出来介绍一下吧。洗耳恭听。
67 楼 flhuang 2009-03-19  
qq空间应该就是国内较早使用flex(准确的说是flash)做UI的吧?
66 楼 liberD 2009-03-17  
谢谢楼主!
分析的非常好!
我也正准备学习一下Flex!
(*^__^*) 嘻嘻……
65 楼 Army 2009-03-10  
emilchan 写道
说来说去,不知道实际中使用flex,和数据的交互如何,ui层可以做校验逻辑、显示逻辑么?数据的格式化显示方便么?

flex的校验器和渲染器都可以。
64 楼 emilchan 2009-03-06  
说来说去,不知道实际中使用flex,和数据的交互如何,ui层可以做校验逻辑、显示逻辑么?数据的格式化显示方便么?
63 楼 nbkangta 2009-02-24  
Flex是next generation的东西,带宽内存都要顾及
62 楼 hazy 2009-01-19  
http://www.tdx.com.cn/test/flashHQ.html
AS+JS
61 楼 sojust 2009-01-17  
如果不存在带宽问题,Flex当然更帅,但如果前后台数据量交互很大,都不适合,一压测都得挂
60 楼 tosunrains 2009-01-13  
    我个人觉得Flex的前途更加宽广一些,相信在不久的将来将会是一大趋势,国内的Flex书籍明显比国外更新慢了半拍,我也正烦恼没有找到一本好的Flex3的书籍看呐
59 楼 superdandy 2008-12-31  
xiaoyu 写道
superdandy 写道
用Flex 做过3个小系统, 得出的结论是,如果是传统的页面内嵌Flash方式使用Flex,还是很不错的。 而像我这样的使用纯粹的FlexUI构建的话,那么对客户端,服务器的要求就近乎严苛了。  记得很清楚,客户端测试电脑为  P4 2.8G + 1G内存, 运行系统的时候就经常会出现CPU 100%的情况。 不过,按照效果来说,是传统的js所难以比拟的。

当然不是说AJAX达不到这个效果,而是达到这个效果所要耗费的时间和精力太多。 我做的其中一个Flex系统,之前曾经3个人做过半年,开发出来一个使用EXT的版本,但是客户仍然嫌不够华丽,体验性不够高。 所以才有了后来我的版本。 事实上,这个系统的资源消耗比AJAX的大得多,但是一个是开发容易(我自己两个月搞定),另外一个是效果确实好。


3个人半年, 是因为有后台程序, 你两个月是不是只改一些界面(重构和开发新的是不一样的)?

又看到有人说M$的SL, 都不知道M$自己的项目都不敢用SL.

ActionForm? 你说的如果是企业应用就算了(反正带宽都不是问题), 解决方案多着呢, 为什么要挑一个不跨浏览器, 而且容易被现在的某些杀毒软件给拦截的东西呢?

Internet的门户就不要说你这个了ActionForm了。


客户已经重新修改了原有的逻辑,原来的代码只有一定的参考作用,不能直接拿来使用了。 原有的整个项目构架都更换了

相关推荐

    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