论坛首页 Web前端技术论坛

讨论Ext项目的性能优化

浏览 30137 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-18  
能不能有朋友把不是iframe加载的方式贴段代码出来看看呢?
0 请登录后投票
   发表时间:2008-11-18  
经过gzip压缩js后,页面访问的第一次加载是快了,但是之后的访问速度跟没加载的差不多,优化有什么更好的方法??
0 请登录后投票
   发表时间:2008-11-19   最后修改:2008-11-19
andrew.yulong 写道
iframe本来加载就很慢!


话是没错,但是凡是外行人感觉慢的地方100%不是iframe造成的。因为本质上来讲,iframe和打开一个ext页面是一样的速度,仅仅是多访问了一次HTTPserver进行判断(发现ext-all.js本地已经缓存),多了一次浏览器加载解析ext-all.js的过程,其他方面是一模一样的。

好比你每次打开新浪首页的新闻,新弹出一个窗口,你会说新浪慢么?新浪新打开一个窗口的结果和我上述分析是差不多的,除了少部分随机显示的广告以外,大部分的诸如banner图片、公用的css和js文件都不会重新下载、但是会在新的窗口中加载解析一下(这个过程是很快的)。

0 请登录后投票
   发表时间:2008-11-19   最后修改:2008-11-19
sky33230 写道
经过gzip压缩js后,页面访问的第一次加载是快了,但是之后的访问速度跟没加载的差不多,优化有什么更好的方法??


不可能,gzip压缩一旦配置好,或者事先压缩好以后,即使浏览器不对ext-all.js做缓存,每一次访问速度也应该是和第一次一样,怎么可能会比第一次慢?不可能的事,你搞错了吧。

一般来说,从第二次开始因为浏览器一般会缓存ext-all.js,一定是比第一次节省下载112KB大小的下载时间的。
0 请登录后投票
   发表时间:2008-11-19   最后修改:2008-11-19
andrew.yulong 写道
搞不懂,为什么这多人用iframe加载?ext的官方论坛都不推荐iframe加载.本人觉得用ext根本就没有必要用iframe啊!


因为入门的人要实现直接渲染或者autoload,在调试过程中会碰到很多意想不到的困难,一旦碰到搜索不到的问题,又找不到人问,自然就会尝试其他方案,相对的iframe的方式相对简单,网上资料也比较容易找。。。

你不能要求一个刚刚熟悉不久的人,能够深刻理解ext的应用中,用不用iframe的本质区别到底在哪,即使你把原因一字一句的告诉他,如果他对浏览器访问ext访问并执行的过程本身了解不深刻的,依然效果不好。
0 请登录后投票
   发表时间:2008-11-19  
maoweiwer 写道
建议使用老黄写的E3压缩....真的很棒....

呵呵..免费为老黄的东西做宣传


貌似E3的缓存策略不如apache,缓存功能有没有都是问题,而且缓存的对象都在JVM中。

这个功能不如分摊给专门的HTTP Server(也有可能是各种前端缓存)做,不要浪费应用服务器的CPU的资源。
0 请登录后投票
   发表时间:2008-11-19   最后修改:2008-11-19
zhongli 写道
生产采用的是apache的gzip压缩,好像可以达到80%,体积的问题应该很容易解决。
顺便问一下,如果不使用iframe,那是不是变成了one page application模式?这样好像不是很爽,多模块不一定都是用ext开发的

体积问题你说对了,也就是第一次访问需要下载112KB的ext-all.js的问题,大概相当于2-3幅大图片的大小。


一个application不等于一个网站,application的粒度需要自己把握。

多模块完全可以多page。

如果一定要多模块放在一个页面中,即使用iframe,多模块之间在客户端的通讯也是很麻烦的,建议大模块设计的时候就按照传统门户网站的策略,各自分开。比如门户的新闻页面往往基于各自的CMS系统,论坛有可能是PHP系统等等。
0 请登录后投票
   发表时间:2008-11-19   最后修改:2008-11-19
elstage 写道
能不能有朋友把不是iframe加载的方式贴段代码出来看看呢?

你可以参考一下EXT目录下doc/resource/doc.js中搜索autoLoad。

如果你要加载的页面还是完全EXT布局的话,就可以直接渲染,不需要考虑什么页面。

例如,如果你是用类似于IE7的多tab的方式打开多个功能页面,比如某一个页面中是一个GridPanel的话,完全可以把构造这个GridPanel的代码放在一个temp01.js中,在index.html中直接引入这个JS。这种方式起个名字叫“直接渲染”吧(估计会有人说首页的代码会膨胀,有人质疑了我再回答吧)。
0 请登录后投票
   发表时间:2008-11-20  
elstage 写道
我配置了tomcat6的gzip,但是效果不明显啊


你用了压缩 在本地或局域网内是没什么效果变化的




0 请登录后投票
   发表时间:2008-11-20  
压缩,考虑到的是网络速度的问题。如果网络不是问题,这块儿没什么用。
extjs使用的时候,就我们项目的经验。不要把继承层次弄的太深。我们项目是
坚决不用什么iframe的东西。jsvm2可以很好的做js的分割加载
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics