08-08
27
FLEX和EXT选择问题
作者:Java伴侣 日期:2008-08-27
取这个标题,难免会惹来幼稚和可笑之闲,打心底压根儿没有拿这两者来比过,因为这两者是否具有可比性本身是个疑问.可是最近一些朋友的公司却一直在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的经验和想法,大家不妨一起分享,表示感谢!
先申明,我不是什么牛人,也不是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的经验和想法,大家不妨一起分享,表示感谢!
评论: 0 | 引用: 0 | 查看次数: 510
发表评论