`

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

阅读更多

知道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
分享到:
评论
23 楼 xueduan 2008-03-27  
能能否把树的js共享一下,谢谢,我的Email:xueduanyang1985@163.com
22 楼 rihoonet 2007-12-06  
stevenwang ,能不能具体的描述一下在Ext里MVC在Grid中的应用?
21 楼 stevenwang 2007-12-04  
支持楼主的总结。
grid基本就是照搬swing的grid。
我以前是搞swing开发的。
看着那个mvc模式太眼熟了。
这个架构跟swing借鉴了很多思想。
20 楼 letoto 2007-12-04  
在哪呢
19 楼 chen4w 2007-11-09  
ext加载时,由于js类库较大,所以刚加载页面时较慢,运行起来后没有问题
18 楼 InnocentBoy 2007-10-31  
据说ext的速度不是很好。
17 楼 kaki 2007-10-30  
不知道和数据库整合如何??
16 楼 fangzhouxing 2007-10-28  
引用
ext中from的提交要不要刷新网页?

当然不用了,否则要AJAX干什么?
15 楼 zlq4863947 2007-10-27  
大家好!我在 -JS-堂 JavaScript 开源社区 ajaxjs.com 看到了这篇帖子,认为很有价值,特推荐给大家。

Spket IDE, Ext开发人员的紫色匕首~
地址 http://jstang.5d6d.com/viewthread.php?tid=809&fromuid=1803

希望大家能喜欢
再问大侠们一个问题,ext中from的提交要不要刷新网页?
14 楼 hopesoft 2007-10-05  
spket试用了一下,确实不错:)
13 楼 hezn 2007-09-30  
怎么下载是图片
12 楼 hezn 2007-09-30  
sfsdf
11 楼 chen4w 2007-09-18  
zyf0808:
已经共享了第1个版本
10 楼 stamen 2007-09-18  
sp42 写道
EXT尤其GRID的内部机制参考了Swing.
详见jack博客中文版:
http://www.ajaxjs.com/yuicn/article.asp?id=20073838

  访问不了,是不是给错了??
9 楼 zyf0808 2007-09-17  
AttachField:多附件
  功能:支持带进度显示的本地上传、附件的浏览、删除。
  TreeField:树
  功能:从xml加载生成树,支持节点的增加、删除、拖拽、重命名、属性编辑
  FileField:远程文件操作
  功能:浏览远程文件目录、支持文件上传、选择、打开、移动、重命名
***************************************
估计大家对你这部分都很感兴趣,可否共享一下?赫赫
8 楼 fangzhouxing 2007-07-14  
引用
FireFox就报告“dwr is not defined”,程序无法继续运行。


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

现在我可以继续DWR+Extjs的愉快旅程了!
7 楼 fangzhouxing 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();
		});	


那位高人能帮兄弟一把?先谢了。
6 楼 taelons 2007-07-04  
spket对extjs的支持,好象不能实现全部代码辅助完成功能
5 楼 aldelee 2007-06-30  
share一下吧
4 楼 qqeerr20012001 2007-06-26  
样式好像是aero

相关推荐

    extjs-Ext.ux.form.LovCombo下拉框

    在EXTJS框架中,`Ext.ux.form.LovCombo`是一种自定义组件,它扩展了基本的`Ext.form.field.ComboBox`,提供了更丰富的功能,尤其是针对多选和联动选择的需求。这个组件通常用于创建具有“lov”(即“Look Up Value”...

    extJs 2.1学习笔记

    目录 1. ExtJs 结构树 2 2. 对ExtJs的态度 3 3. Ext.form概述 4 4. Ext.TabPanel篇 5 5. Function扩展篇 7 6. Ext.data.Store篇 10 7. Ext.data.JsonReader篇一 12 ...28. extJs 2.0学习笔记(ext.js篇) 77

    Ext.Ajax.request跨域

    标题"Ext.Ajax.request跨域"指出我们将探讨如何使用ExtJS库中的Ajax模块进行跨域请求。Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略...

    ExtJs4.0 使用心得@1 Ext.util.Format.Number()

    ExtJS是一个广泛使用的JavaScript库,特别适用于构建富客户端应用程序。在4.0版本中,它提供了许多强大的组件和工具,帮助开发者创建功能丰富的Web应用。本文将深入探讨Ext.util.Format.Number()函数,它是ExtJS 4.0...

    extjs 可编辑的表格树 Ext.tree.ColumnTree Ext.tree.ColumnTreeEditor

    extjs 可编辑的表格树,每个单元格自定义编辑组件,可以自适应列宽,只有源码与例子,运行实例要修改路径,不然图片不能显示,注意etree.jsp的js引入路径 ...如运行不了EmailTo : codeme9@gmail.com

    ext.jsb ExtJS

    ext.jsb spket ExtJS dreamweaver

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    在EXTJS这个强大的JavaScript框架中,`Ext.Panel`和`TreePanel`是两个非常重要的组件,它们被广泛用于构建复杂的用户界面。这篇文章将探讨如何在这些组件中动态加载本地页面数据,以提升用户体验并实现灵活的数据...

    Ext.Ajax.request2.x实现同步请求

    在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...

    ExtJs选中var editor = new Ext.ux.grid.RowEditor详解

    ### ExtJs选中 `var ...以上就是关于 `var editor = new Ext.ux.grid.RowEditor` 的详细解析,希望对使用ExtJs框架的开发者有所帮助。通过合理地配置和使用 `RowEditor`,可以极大地提高Web应用的交互性和用户体验。

    extjs4.1-ux.rar

    Extjs4.1多个扩展 1、Ext.ux.aceeditor.Panel 2、Ext.ux.grid.feature.Tileview 3、Ext.ux.upload.Button ...主页:https://github.com/harrydeluxe/extjs-ux 注明:在Extjs4.1上是可以使用的,Extjs4.2部分会有问题。

    Ext.ux.UploadDialog.zip

    这个"Ext.ux.UploadDialog.zip"压缩包包含了EXTjs的UploadDialog组件,方便开发者在自己的项目中直接使用。 UploadDialog组件的核心功能是提供一个用户友好的界面,让用户能够选择并上传文件到服务器。这个组件通常...

    [Ext 3.x + Ext 2.x] 下拉树 Ext.ux.ComboBoxTree

    【Ext 3.x + Ext 2.x 下拉树 Ext.ux.ComboBoxTree】是基于ExtJS框架的一个组件,它结合了下拉框(ComboBox)和树形控件(TreePanel)的功能,提供了一种用户友好的选择界面。在网页应用中,这种控件常用于展示层级...

    Extjs3 多选下拉框LovCombo

    ExtJS 3是一款基于JavaScript的富客户端框架,用于构建功能丰富的、交互式的Web应用程序。在ExtJS 3中,多选下拉框(LovCombo)是一种复合组件,它结合了下拉列表和“爱好者选择”(LOV,Lookup Value)的功能,允许...

    course_ext11.rar_course_ext11_extjs

    在本项目中,“course_ext11.rar_course_ext11_extjs”是一个压缩包,它包含了一个使用SSH(Spring、Struts、Hibernate)框架与ExtJS前端库开发的选课系统。这个系统主要实现了CRUD(Create、Read、Update、Delete)...

    ExtJS4+Accordion+SERVLET/STRUTS2+JSON+Ext.tree.Panel实例

    在与ExtJS4结合使用时,Servlet通常用于接收前端发送的JSON数据请求,处理业务逻辑,并返回相应的JSON数据。 Struts2是一个基于MVC设计模式的Java Web框架,用于简化企业级应用开发。它提供了处理用户请求、控制...

    ExtJS ToolTip功能

    通过上述示例,我们了解了如何在ExtJS中使用`ToolTip`功能为网格中的每一列提供额外的信息提示。这种方式不仅提高了应用的交互性,也增强了用户体验。此外,我们还学习了如何定义组件、配置布局、设置数据存储、添加...

    Extjs4.X下comboboxTree下拉树型菜单,完美支持多选、单选,绝对好用

    在ExtJS 4.x框架中,ComboboxTree是一种特殊的组件,它将传统的下拉框与树形结构结合在一起,提供了一种更为灵活的用户输入方式。这种组件在数据选择上非常实用,尤其当数据层级关系复杂时,可以方便地进行多选或...

    Ext Extjs 禁止文本和日期编辑

    在Ext JS这个强大的JavaScript框架中,开发者经常使用各种组件来构建富客户端应用,其中包括TextField(文本字段)和DatePicker(日期选择器)。有时,我们可能需要根据应用需求在运行时禁用这些组件的编辑功能,...

    extjs4的Ext.frorm.Panel控件属性说明和表单控件说明

    主要用例子说明extjs4的form表单的运用,其中有表单属性说明,表单控件运用说明如: title:'表单', //表单标题 bodyStyle:'padding:5 5 5 5', //表单边距 height:120, //表单高度 width:200, //表单宽度 ...

    ExtJS 4.0 改善Ext.grid.plugin.RowEditing (重构,v1.4版本,2011-09-11)

    这篇文章的标题指出这是一个关于“Ext.grid.plugin.RowEditing”的重构,版本为v1.4,发布日期为2011年9月11日。重构通常意味着代码的改进,可能涉及性能优化、错误修复或功能增强。在4.0版本中,RowEditing插件的...

Global site tag (gtag.js) - Google Analytics