论坛首页 AJAX版 EXT

EXT使用总结

浏览 3462 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-11-16

1,刚开始应用ext开发困难来自与后台数据的交互和对ext的方法调用和参数的不熟悉.

随着应用的深入和高手的指点,在数据的交互上采用dwr和json,特别是json-lib的引用,非常的简单,可以直接采用ext.jsonRead读取.dwr的处理上面我采用了spring MVC,弃掉了一直采用的struts.这样在dwr.xml就可以定义为spring的模式.

2,采用js开发工具

elipse+spket和firebug+firefox组合成了非常锋利的开发工具利器。

和extjs 的jsbuilder进行打包,优化引用js的大小.

3,学习方法

就是多参照sample的例子去实现和多做例子.掌握好js函数式或声明性编程是非常强大的编程方法.

4,问题,

由于大量引用js和css,所以开发难度大大提高,页面响应的速度也因为在html大量引用js和css,行数非常之大,变得非常慢,难于接受.自己也因为对js不熟悉,所以采用大大include extjs的类包,很多都没有优化,也不知这些包的应用.

因为第一次写好,在上传时出错,全部没了,^~^,要回家,没时间再写下去了.

   
最后更新时间:2007-11-16
LZ这其实是个一个开始 :)
要继续努力哦~ 
   
0 请登录后投票
最后更新时间:2007-11-17
我也是刚用,基本上想要的布局或效果,在官网论坛都能找到,目前还没有解决的就是性能问题,我用来太多tab,tab中有form,form中有grid和tab速度那个慢有点无法接受。
   
0 请登录后投票
最后更新时间:2007-11-17
引用
我用来太多tab,tab中有form,form中有grid和tab


请问,所有tab、form和grid涉及的js,都是在登录后一次加载吗?
   
0 请登录后投票
最后更新时间:2007-11-17
谢谢LZ分享经验。
目前我们仍旧未抛弃struts。

性能问题:我们打算放弃使用Dialog,使用新开一个窗口的方法实现。这个方法能缓解一些性能上的问题,同时,让js代码分离在各个不同的jsp文件中,使结构更清晰。
   
0 请登录后投票
最后更新时间:2007-11-17
我用的是ext2的desktop模式 我发现性能问题瓶颈并非加载js文件, 而是在实际render的时候; 即使将全部js加载完后,再点那些弹出窗口,依然慢 我大部分模式是这样 window[grid]; window[tab[form]]]; window[tab[form[formField,tab,grid]]]]; 第三种窗口打开最慢;窗口中的每个tab懒render(点击该tab的时候才render里面的内容)后,打开窗口稍微快; desktop创建空窗口都比较慢; 如果form的表单域是一行一个的速度要比一行多个都快;
   
0 请登录后投票
最后更新时间:2007-11-21
1,刚开始应用ext开发困难来自与后台数据的交互和对ext的方法调用和参数的不熟悉.

随着应用的深入和高手的指点,在数据的交互上采用dwr和json,特别是json-lib的引用,非常的简单,可以直接采用 ext.jsonRead读取.dwr的处理上面我采用了spring MVC,弃掉了一直采用的struts.这样在dwr.xml就可以定义为spring的模式.

能否对这一段给些指点那?我现在也卡在这里,希望圈主能经常发表些内容
   
0 请登录后投票
最后更新时间:2007-11-21
渲染调控有否将XTypes派上用场?


引用
组件的X类型 XTypes

XTypes是Ext 2.0中新的概念,被认为是Ext组件的特定类型。可用的xtype摘要可在 Component class API开头的地方找到。与一般JavaScript对象用法相似,XTypes可用于查找或比较组件对象,如isXType和getXType的方法。 你亦可以列出任意组件的xtpye层次表,用方法getXTypes。

然而,如何把Xtypes用于优化组件的创建和渲染过程才是XTypes发挥威力的地方。 通过指定一个xtype的配置对象的写法,可隐式声明的方式创建组件,使得如果没有渲染的需要就只是一个对象而免去实例化的步骤,这时不仅渲染的动作是延时的,而且创建实际对象的这一步也是延时的,从而节省了内存和资源。 在复杂的布局中,这种性能上的改进尤为明显。

//显式创建所容纳的组件
var panel = new Ext.Panel({
   ...
   items: [
      new Ext.Button({
         text: 'OK'
      })
   ]
};
 
//使用xtype创建
var panel = new Ext.Panel({
   ...
   items: [{
      xtype: 'button',
      text: 'OK'
   }]
};

引用

第一个例子中,面板初始化的同时,按钮总是会立即被创建的。 如果加入较多的组件,这种方法很可能界面的渲染速度。 第二例子中,按钮直到面板真正在浏览器上显示才会被创建和渲染。

如果面板从未显示(例如有个tab一直是隐藏的),那么按钮就不会被创建,不会消耗任何资源了。


详细参见《2.0概述http://extjs.com/learn/Ext_2_Overview_(Chinese)》。
   
0 请登录后投票
最后更新时间:2007-11-21
关于后端java json/dwr和extjs的集成, 可以搜索http://extjs.com/forum/(用关键字"java json"和"dwr"分别搜索),基本可以得到解答。

关于DWR和extjs的集成,我建议大家在后端采用Facade设计模式,用粗粒度方法暴露
服务给客户端。
   
0 请登录后投票
论坛首页 AJAX版 EXT

跳转论坛:
JavaEye推荐