Extjs和Flex的联系

开发 后端
本文和大家谈一下Extjs和Flex的联系,若对比Extjs与Flex,无非也是ui与性能,事物都是两面性的,下面就让我们一起来看一下两者的联系吧。

本文和大家重点讨论一下Extjs和Flex的联系,Flex是良好的舆论口碑、漂亮的ui组件、高度耦合的B/S层server数据可便捷取到browser的能力及富客户端的体验。而Extjs不是全部收费、漂亮的界面可以满足项目的需求、文档&api都很到位、担忧的性能Extjs也很关注的在每个升级版本中优化提升。

Extjs和Flex的联系

开发面临的是需求与性能,第三方的选择在于团队整体水平、需求的满足、性能的可承受性、口碑&发展的前景及日后的维护成本;

1、Extjs在webui这一块做的的确不错,学习曲线不是什么难题,我想在趋向收费性的Extjs和出身高贵的dojo中选择,你应该会选择前者,至少我是,原因很简单:Extjs还不是全部收费、漂亮的界面可以满足项目的需求、文档&api都很到位、担忧的性能Extjs也很关注的在每个升级版本中优化提升,而dojo虽出身名门,得到大公司的青睐,但有一个致命伤--文档少、api升级变动、可能有些模块性能也不怎么稳定,这一点大家可以关注下struts2,struts2也选择了dojo,也是因为dojo的这种阔公子无章法的变动使得struts2的这部分开发其实也很痛苦,struts2-dojo-plugin据说也是出于此而诞生在struts2.1版的;

2、Extjs与jquery其实没有可比性的,因为他们各自的出发点和落脚点不在同一个平台上;当然,你若担心Extjs的性能,又偏爱于jquery,那么,你完全可以考虑用jquery+css+div的方式来DIY轮子或者用jquery的ui插件来实现Extjs类似的你所需要的功能,这里你是不是已经发现了一个问题:jquery封装实现类似Extjs提供的功能!对,就是它,它至少可以回答你两个问题,一是Extjs和jquery的可比性其实不大,二是Extjs的性能整体来说弱于jquery,但话又说过来了,若你将jquery封装到Extjs的级别,那两者的性能对比将又如何?天知道,至少我不知道,永远的矛盾--易用性与性能,封装的层次越高,应用、维护起来越方便,性能的担忧也就越多了,不单单web开发,纯后台的项目也是如此,而且纯后台的项目更注重性能,易用易维护的封装层次与性能及灵活性永远是矛盾的共存体,如何取舍由你,但效果最终还是取决于项目终端用户体验的满意度,因为那才是财源;

PS:之说以这么说是因为我最近做了一个纯后台的项目时遇到持久层的性能瓶颈争论问题,我给大家一个粗略的性能测试数据,即便我不说,相信大家横行对比也知道这里面的含义了(据说C的oracleoci可以到达3k条/秒的insert速度,而我测java的oci或thin***测试记录也无非1.3k多条/秒,比较汗):
测试环境:主机HP-UXrp3440B.11.23U9000/800(td)数据库ora9i

插入速度测试数据

模式驱动模式数据量2w2w10w10w
原始jdbc模式thin时间(速率)17秒(1176条/秒)18秒(1111条/秒)1.26分(1162条/秒1.26分(1162条/秒)
oci18秒(1111条/秒)18秒(1111条/秒)1.25分(1176条/秒1.28分(1136条/秒)
JdbcTemplate模式thin24秒(833条/秒)24秒(833条/秒)1.59分(840条/秒)1.54分(877条/秒)
oci29秒(689条/秒)29秒(689条/秒)2.33分(653条/秒)2.21分(709条/秒)
ibatis两种驱动模式下插入速度大约在400多条/秒,ibatis的批量可以达到[5400,6000](条/秒)当批量值在[500,1000]条之间选择时
从测试数据可以看出,OO易用性越好封装抽象层次越高,性能相对越低,未来的改良可能采用DBUtil了,因为后台这种多数情况下即时insert项目缓存的意义并不太明显,有种越走越底层、越走越原始的感觉,难道人生***的***境界真的是返璞归真?

PS-Java是个开源的世界,存在众多可选性,为避免重复制造轮子、快速开发,使用现有的第三方是有益的举措,但要做到使用第三方能够快速、高性能的完成项目开发,必须严把选择关,从需求满足、开源厂商、用户群、口碑、性能、前景等等,多方位、多角度的衡量第三方,一旦确定下第三方就要深入的去研究,为我所用;

3、再说Flex,若对比Extjs与Flex,无非也是ui与性能,事物都是两面性的,所以,我比较不出所以然来,但我们不妨换个角度来看下:
Flex吸引你眼球的地方是什么呢?我想无非是良好的舆论口碑、漂亮的ui组件、高度耦合的B/S层server数据可便捷取到browser的能力及富客户端的体验(类似于js与dwr的关系,此况下似乎高度耦合我们也并不介意,也许面向接口编程缓和了高耦合的批判度,所以,不要过分技术...有点扯淡我*_*);Flex的确走出了一条新路子,它的新得益于门出adobe,受益于flash环境及actionscript脚步;我们不妨这样肢解一下Flex:

a.组件式的漂亮UI;
b.actionscript的脚本编程;
c.flash的运行环境;
d.B/S的间通信协议;

◆它的着力点在哪里呢?adobe利用flash的优势,打造web富客户端体验的application开发模式,个人观点,我为什么这么说呢?我们可以从以下几点来看:

一、传统的web开发,主要是靠js+div+css来美工界面的,js虽有意高攀java但两者并无任何必然联系并终因其前期难以开发、调试、跨浏览器的差异性及非真正面向对象的语法以及所谓的js加载性能的讨论,使得开发人员对js是爱恨交错;

二、ajax的风靡使得客户体验度大大提升,渐进沉寂的js又二度开春,再度被狂热追捧,这个过程也反映了web开发UI是软肋,说明web开发需要丰富的UI,需要非传统的web体验,开发人员期待能用像RAD方式开发application系统的方式来完成web的开发,简捷的、丰富UI及便捷的UI与后端数据交互,这应该是jsf做的路线吧;

三、ajax之前就已经存在jsf,jsf也是正统出身,旨在UI,推了好久,但始终不温不火,不知其中缘由,但jsf给我的感觉配置多于编码,这个让我受不了;

四、接下来的代表应该是gwt了,是google推出的一套开发基类库,将开发完全分为client/server模式,无js代码,因为gwt会为你代劳,这也许是不擅长js而渴望开发出漂亮UI的web应用的朋友们的福音,也许google的原因吧,gwt还是蛮有影响力的;

五、Extjs着力于webUI的js类库,再看gwt-ext及ext-gwt,都着力在web开发UI及客户体验上;
我们是否可以这样看下去:传统web开发ui的软肋(js+div+css)-->带宽增加、数据交互能力、客户体验度的提升(ajax)-->一方面UI的需求(air、Extjs),一方开发模式的转变(jsf,gwt,gwt-ext)-->以上的webUI最终体现脚本js,解析依赖于各浏览器;存在肢解的元素a.组件ui;b.js脚本;c.浏览器运行环境;d.http协议(当然ajaxrpc)-->终于到了炙手可热的Flex;这应该是发展的根本所在吧~

【编辑推荐】

  1. Flex字符串用法指南
  2. Flex2.0Beta1新功能出炉
  3. Flex函数如何调用揭秘
  4. 解析三大Flex数据绑定方式 
  5. Flex数据绑定中难以发现的无声错误

 

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-08-12 15:30:27

FlexFlash

2010-08-03 15:02:45

FlexPHP

2010-07-30 14:26:21

FlexFlash

2010-07-27 14:44:23

Flex Array

2010-07-30 14:09:30

FlexFlash

2010-07-27 16:03:42

Flex

2010-07-29 13:34:36

Flex样式

2010-08-13 10:01:46

Flex样式定义

2010-09-25 14:58:12

JVMJDKJRE

2020-07-21 18:03:47

区块链物联网

2010-08-27 10:49:38

DIVtable

2013-07-11 10:49:58

FedoraUbuntu

2010-08-04 08:42:28

Flex和Flash

2010-06-02 17:39:49

MySQL数据读取

2010-08-06 10:03:42

Flex事件

2010-08-05 08:54:00

Flex优势

2010-08-11 11:17:49

FlexFlash

2022-04-15 14:57:57

Flex布局鸿蒙操作系统

2010-08-23 15:40:18

MarginBorderPadding

2015-04-17 15:38:33

SDHMSTP以太网
点赞
收藏

51CTO技术栈公众号