论坛首页 Web前端技术论坛

Ext(www.extjs.com)使用感受

浏览 34823 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-25  
知道Ext是从Flex粉丝的口水大战,看了它的jsDoc,感觉似曾相识,
对象重载、事件侦听、怎么看都象C/S的组件sdk。
再粗略浏览了examples,呵呵,实用而且酷!
我说洪哥,咱们动手罢!
****实战****
用了两个月的时间,完成了以下工作:
1.Ext的Grid采用json作为默认支持的数据格式,而我的数据格式是传输机制是基于dwr的,
  不过Ext良好的分层设计允许编写自己的数据加载。
  按照此机制编写了自己的数据加载类:
  Ext.extend(Bat.UI.Ext.ObjReader, Ext.data.DataReader
  Ext.extend(Bat.UI.Ext.Proxy, Ext.data.DataProxy,
  在此基础上实现了grid组件与我自定义的数据格式的结合。
 
2.扩展Ext.form.TriggerField,实现了几个自己需要的form组件
  AttachField:多附件
  功能:支持带进度显示的本地上传、附件的浏览、删除。
  TreeField:树
  功能:从xml加载生成树,支持节点的增加、删除、拖拽、重命名、属性编辑
  FileField:远程文件操作
  功能:浏览远程文件目录、支持文件上传、选择、打开、移动、重命名

此过程中、感觉Ext的重载和事件侦听机制还是比较好用的,基本上我能想到的功能都顺利实现了。
也发现一些小bug,主要是特殊应用下在ie下出现,Ext论坛上也有许多网友提交了bug,大都是在ie下出现。
看来Ext的开发团队应当是主要以ff为测试环境的。
Ext的论坛比较活跃,提交的bug大都能得到及时响应。

****编辑器****
初期我使用jsEclipse,后来发现了更适合Ext开发的Spket,是我目前所见过的js editor中最强的。
http://www.spket.com/js.html

****调试****
Ext自带了debug窗口,可以实时监视Dom文档树和调试信息,我还是更习惯ff下的venkman
 
****应用**** 
Ext全部代码的压缩版本ext-all.js,目前为469KB
比较适合部署在局域网上的B/S应用,不过其官方网站也列举了一些www上的应用。
Ext对Dom进行了良好的封装,实现了对象重载和事件侦听,并在此基础上实现了一整套ui组件,
这些组件正是对html组件的增强(validate问题、IE的select问题、)和补充。
也是实现B/S应用频繁使用的,与用户自定义组件相结合,就可以形成一套可复用的ui组件。
是编写RIA的好工具。
  • 大小: 78.3 KB
  • 大小: 86.4 KB
   发表时间:2007-06-25  
赞,不过还是对Spket IDE比较感兴趣~
0 请登录后投票
   发表时间:2007-06-25  
EXT尤其GRID的内部机制参考了Swing.
详见jack博客中文版:
http://www.ajaxjs.com/yuicn/article.asp?id=20073838
0 请登录后投票
   发表时间:2007-07-04  
spket对extjs的支持,好象不能实现全部代码辅助完成功能
0 请登录后投票
   发表时间:2007-07-14  
一直很关注和欣赏Extjs。最近我也已经用一个月时间用Extjs实际做了一些工作,主要是移植原来基于Struts的Web应用到基于Struts+DWR+Extjs的新开发架构。

我现在使用Ext 1.1RC1, DWRProxy来自:
http://extjs.com/forum/showthread.php?t=5586

总的开发感受不错,但是昨天遇到了一个问题,让我开始怀疑新开发架构的技术成熟度是否还不够。

在附图所示的界面中,点击用户列表中的某个用户,就会自动显示出该用户所属的角色列表。大约点10下左右,就会出现不更新角色列表的现象,然后FireFox就报告“dwr is not defined”,程序无法继续运行。

我去掉更新角色列表的程序,一切正常。再测试单个网格的程序,也很正常。

更新角色列表的程序代码如下:
		
gridUser.on('rowclick', function(grid, rowIndex, e)  {
			rIndexUser = rowIndex;
            if (dsUser.getTotalCount()>0) {
                currentUserId = selModelUser.getSelections()[0].data.id;
				dsRole.load({arg:[currentUserId]});
			} else	{
				currentUserId = -1;
                dsRole.load({arg:[-1]});
			}
	        setUserToolbarStatus();
		});	


那位高人能帮兄弟一把?先谢了。
  • 大小: 2.3 MB
0 请登录后投票
   发表时间:2007-07-14  
引用
FireFox就报告“dwr is not defined”,程序无法继续运行。


这个问题已经解决,是后台程序没有及时释放数据库连接,造成不能继续服务前台。

现在我可以继续DWR+Extjs的愉快旅程了!
0 请登录后投票
   发表时间:2007-09-17  
AttachField:多附件
  功能:支持带进度显示的本地上传、附件的浏览、删除。
  TreeField:树
  功能:从xml加载生成树,支持节点的增加、删除、拖拽、重命名、属性编辑
  FileField:远程文件操作
  功能:浏览远程文件目录、支持文件上传、选择、打开、移动、重命名
***************************************
估计大家对你这部分都很感兴趣,可否共享一下?赫赫
0 请登录后投票
   发表时间:2007-09-18  
sp42 写道
EXT尤其GRID的内部机制参考了Swing.
详见jack博客中文版:
http://www.ajaxjs.com/yuicn/article.asp?id=20073838

  访问不了,是不是给错了??
0 请登录后投票
   发表时间:2007-09-18  
zyf0808:
已经共享了第1个版本
0 请登录后投票
   发表时间:2007-09-30  
sfsdf
0 请登录后投票
论坛首页 Web前端技术版

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