`

关于OPOA的问题和对策

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

命名的问题有个具体的代码规范就成了~

内存问题,与其他框架或是技术的整合才是extjs的严重问题


命名空间问题,我是这样命名的,

有名有姓的需要引用的:程序模块名称+功能名称
临时的直接调用的,直接用Ext.getId()生成。

和其他技术框架是后台框架还是其他js框架。
我用的是struts2+jsonPlugin实现的。偶尔也用jsp拼下数据格式。
2 楼 kimmking 2009-03-13  
会飞的狗 写道
命名空间冲突是应该注意,仔细规划还要应该还是能够避免。
最痛苦的还是内存泄露,内功不够没办法。

命名的问题有个具体的代码规范就成了~

内存问题,与其他框架或是技术的整合才是extjs的严重问题
1 楼 会飞的狗 2009-03-12  
命名空间冲突是应该注意,仔细规划还要应该还是能够避免。
最痛苦的还是内存泄露,内功不够没办法。

相关推荐

    mat-opoa:启动单页应用的mat插件

    mat-opoa Installation npm install --save-dev mat-opoa Usage var mat = require('mat'); var rap = require('mat-rap'); var opoa = require('mat-opoa'); // rap mock数据环境 mat.task('default', function () ...

    5最值系列之阿氏圆问题.doc

    在本文中,我们讨论了 "阿氏圆" 问题的知识点, 包括问题的定义、两个证明方法、性质和应用、练习题及其解答。 一、定义 "阿氏圆" 是指由古希腊数学家阿波罗尼奥斯提出的圆的概念,在平面内,到两个定点距离之比...

    extjs得单页系统实例

    OPOAdemo.rar extjs得单页系统实例

    基于 HTML5 移动 Web App 开发.pdf

    例如,Android平台上的Web App方案会针对WebView组件进行优化和扩展,利用Webkit引擎提升性能,并通过界面优化技术如OPOA(Offscreen Page Cache)减少页面刷新,提升响应速度。 然而,HTML5技术目前仍存在成熟度...

    Javascript开发之js压缩篇.pdf

    本文主要讲述了使用ExtJS库时遇到的问题,即ExtJS庞大的体积如何进行压缩和优化。文章中介绍了两种解决方法:一、使用yui-compressor对js文件进行压缩混淆,二、使用gzip压缩来减少文件体积。 首先,作者提到使用...

    单页应用前端MVC框架Magix.zip

    同时遵循Magix的开发约定可以很好的控制页面内存的使用,避免单页系统常见却致命的内存泄露和过度膨胀等问题。Magix 适合用来构建大型的,面向前后端开发者以及 IE6 友好的,基于 MVC 结构和 Hash 驱动的 OPOA(One ...

    支付宝 html5

    2012年10月,随着iPad等平板设备的普及,支付宝开始重视高分辨率屏幕的显示效果,采用了CSS3特效来提升视觉体验,并引入了OPOA(Object Pooling Object Adapter)模式,优化了资源管理和页面渲染效率。此外,...

    jquery.load 是无法替代 iframe的

    sIEve是一个工具,可以帮助开发者识别和解决IE中的内存泄漏问题,这对于优化Web应用性能和用户体验至关重要。`opoa.txt`文件没有明确的上下文,可能是日志、配置文件或其他文本信息。 总结来说,jQuery的`load()`...

    网易企业邮箱5.0版创新功能全剖析.docx

    OPOA框架确保了代码的优化,而自定义组件库则使得邮箱的功能能够快速扩展和定制。这些技术的结合,使得邮件到达速度加快,通信协议得到优化,页面加载速度提高了35%。 智能动态组件系统是网易企业邮箱5.0版的另一大...

    基于Ext的单页系统设计与研究.pdf

    这篇文章主要探讨了如何利用Ext框架设计和实现一个单页系统(One Page Application,OPOA),这是一种优化用户体验的Web应用模式,旨在提高响应速度和用户交互性。文章首先介绍了Ext和单页系统的概念。 **1. Ext...

    淘宝UED前端技术系列课程-NO.1 淘宝前端技术巡礼

    为了应对这些问题,团队开始探索多人协作的方式,引入了前端架构的概念,并尝试使用组合技术(Combo)和模块化开发。此外,原有的库和框架如YUI2/Tbra已无法满足需求,需要进行本地化的改进。 - **技术创新**:这一...

    asp.net与extjs开发点卡在线销售系统

    整个系统都使用了AJAX(Asynchronous JavaScript and XML)技术,与服务器交互采用异步方式,真正实现了OPOA(One Page One Application)单页程序。减少了用户等待的时间,抛弃了传统的B/S那种,提交>等待>刷新。

    magix:Magix 旨在构建大规模、复杂的交互应用程序

    Magix配套的帮你更轻松的处理不同加载器、路径转换、样式处理、模板处理等问题 开源协议 文档 组件 示例项目 magix-project 集成常见组件及开发中的功能,seajs+jquery magix-os web桌面系统 KISSY版本 点击这里

Global site tag (gtag.js) - Google Analytics