对于大多数开发者来说,EXT越来越象一棵毒蘑菇,外表鲜艳,但是却隐藏着巨大的危险,一不小心就陷入性能的
死穴中,导致整体项目的失败!
面对EXT性能的问题,大家提出解决方法中,有一种是避免采用IFRAME,采用one page one application(OPOA)的方式。但是一般的企业应用都会采用TAB页的方式,在同一个页面中同时装载多个应用页面。这时,如果采用OPOA的方式,整个程序所有页面都可能加载到单一页面中,这样势必又会引发另外一个痛苦的问题,那就是“命名空间冲突”的问题,即程序开发时必须保证JS命名,HTML元素命名做到整个应用全局唯一,这是对开发提出了很大的挑战,甚至可以说是很难做到的。
于是,我想到一种折中的方案,即主页面的TAB页还是采用IFRAME方式,而主页面TAB页中的页面则采用OPOA的方式。如果我们将应用的主TAB页最多设置为10个,则最多只会有10个IFRAME。这样开发者仅需要保证自己模块各页面的命名空间不存在冲突就可以了。
以上是我关于性能和命名空间冲突的一种解决思路,不知妥否,请大家评判。
1 楼
会飞的狗
2009-03-12
命名空间冲突是应该注意,仔细规划还要应该还是能够避免。
最痛苦的还是内存泄露,内功不够没办法。
最痛苦的还是内存泄露,内功不够没办法。
2 楼
kimmking
2009-03-13
会飞的狗 写道
命名空间冲突是应该注意,仔细规划还要应该还是能够避免。
最痛苦的还是内存泄露,内功不够没办法。
最痛苦的还是内存泄露,内功不够没办法。
命名的问题有个具体的代码规范就成了~
内存问题,与其他框架或是技术的整合才是extjs的严重问题
3 楼
会飞的狗
2009-03-14
kimmking 写道
会飞的狗 写道
命名空间冲突是应该注意,仔细规划还要应该还是能够避免。
最痛苦的还是内存泄露,内功不够没办法。
最痛苦的还是内存泄露,内功不够没办法。
命名的问题有个具体的代码规范就成了~
内存问题,与其他框架或是技术的整合才是extjs的严重问题
命名空间问题,我是这样命名的,
有名有姓的需要引用的:程序模块名称+功能名称
临时的直接调用的,直接用Ext.getId()生成。
和其他技术框架是后台框架还是其他js框架。
我用的是struts2+jsonPlugin实现的。偶尔也用jsp拼下数据格式。
4 楼
xiao_Yao
2009-06-05
其实ext的自动生成的id已经解决了 命名空间的问题
总要的是内存的问题
总要的是内存的问题
5 楼
microboat
2009-06-05
我觉得把整个项目拆分成多个OAOP较好,主页面上显示模块导航和信息提示,每个系统模块采用OAOP方式,总之一个OAOP内的子功能不要太多。
6 楼
georgezeng
2011-11-22
使用GWT,一切就解决了