ExtJs开发模式:MPA和SPA对比

加载时间

从下图中可以看到,MPA模式在第一次加载(58-5=53ms)略慢,要命是有明显的loading..,第二次加载时间正常,说明关闭页面后iframe并没有释放内存。

loadtime.gif

原理与实现

MPA: 多页面应用(Multi-Page Application)。传统的页面开发,通过iframe加载页面。
代码如下:

loadPage: function(title, url, id) {
        var existtab = this.down('uxiframe[frameName="frame_id_' + id + ']');
        if (existtab != null) {
            existtab.show();
        } else {
            var frameUrl = url;
            if (url.indexOf('http://') != -1) {
                frameUrl = url;
            }
            var panel = this.add(Ext.create('Ext.ux.IFrame', {
                title: title,
                frameName: 'frame_id_' + id,
                closable: true
            }));
            this.setActiveTab(panel);
            panel.load(frameUrl);
        }
    }

SPA:单页面应用(Single Page Application)。把页面抽象为模块,通过模块名加载页面。
代码如下:

loadModule: function(title, xtype, id) {
        var existtab = this.down(xtype);
        if (existtab != null) {
            existtab.show();
        } else {
            var panel = this.add({
                title: title,
                xtype: xtype,
                closable: true
            });
            this.setActiveTab(panel);
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,560评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,973评论 6 342
  • _____记建设时期的康巴什 刘凤娥 在康巴什居住了30年,见证了康巴什的过去、今朝,很早...
    溜溜专家阅读 1,519评论 6 4
  • 文:筠心 图:人文版《聊斋志异》插图 青衫红袖两多情 敢为妍媸负旧盟美满姻缘成就日 心香一瓣谢和生 ...
    筠心_阅读 3,128评论 7 11