??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV永久无码精品一百度影院,亚洲人成片在线观看,中文字幕 亚洲 有码 在线http://www.tkk7.com/cookie731/category/51754.html青青子衿, 悠悠我心, 但ؓ君故, 沉吟至今 zh-cnTue, 19 Jun 2012 10:44:54 GMTTue, 19 Jun 2012 10:44:54 GMT60(?ExtJs开发ȝhttp://www.tkk7.com/cookie731/articles/378627.html冰是睡着的水冰是睡着的水Sun, 20 May 2012 13:50:00 GMThttp://www.tkk7.com/cookie731/articles/378627.htmlhttp://www.tkk7.com/cookie731/comments/378627.htmlhttp://www.tkk7.com/cookie731/articles/378627.html#Feedback0http://www.tkk7.com/cookie731/comments/commentRss/378627.htmlhttp://www.tkk7.com/cookie731/services/trackbacks/378627.html

http://www.cnblogs.com/beginor/archive/2008/12/14/1354922.html

不知不觉2008已经走到了尽_在这q一q中Q一直不断的试用ExtJS做项目,?.1到现在的2.2Q吃了不苦_也有不少收获Qȝ一下,一起分享!

1. ExtJS的定位是RIAQ和Prototype、jQuery{类库的定位不同。用ExtJS做开发,是意味着以客L开发ؓ主,不然׃叫RIA框架了,而Prototype、jQuery{只是辅助性的客户端框Ӟ和ExtJS不在同一条v跑先上。如果一定要和其它的框架做比较的话,应该?a target="_blank">Isomorphic SmartClient?a target="_blank">Backbase Enterprise Ajax之类的框架做比较Q当Ӟ和他们相比,ExtJSq是有很大的优势的?/p>

2. 使用ExtJS旉要解军_何服务端通信的问?/strong>。由于ExtJS只是一个客L的框Ӟ和服务端技术没有关p,也就没有相应的服务端的适配层,因此客户端如果要用ExtJSQ则必须提供它需要的数据l构。ExtJS主要通过q几U方式和服务端进行通信Q?

  • Ext.Ajax.request 做普通的异步hQ服务端可以Ҏ实际情况q回JSON形式数据或者HTML片段Q?
  • Ext.tree.TreeLoader 加蝲树Şl构Q服务端必须q回JSON形式数据Q而且要符合Ext.tree.TreeNode的配|要求,否则自己做{换;
  • Ext.data.Store及其zc?/strong> 加蝲表格形式的数据,服务端可以根据实际情况返回JSON形式数据或者XML形式数据Q如果没有特D要求,推荐q回JSON格式的数据;
  • Ext.Element.update 局部更斎ͼq个Ҏ最总还是要调用Ext.Ajax.requestҎQ之所以把它单独列出来Q是因ؓq种方式比较Ҏ被忽视,但是在某些情况下q是? 有用的,比如调用Ext.Panel.body.update()Ҏ个Ext.Panel的内容进行局部更斎ͼ如果使用q种方式Q那么服务端只能相应? q回HTML片段了;

3. 使用ExtJS时的注意事项。ExtJS和其它的辅助性类?Prototype、jQuery{?相比昑־非常庞大Q让很多很多初学者望而却步。经q近一q的学和用,对于ExtJS的用,我ȝ了一下几个注意事:

  • 量使用ExtJS的方a? ExtJS提供了很多有用的ҎQ解军_LJavaScript常见的开发Q务,常见的有查询HTMLDomQ创建HTML元素QؓHTML元素注册事g响应函数{,q些大可以全部用ExtJS提供的方法,使自׃码构ZExtJS之上QD几个例子Q?
    • 查询ID为container的DIV下所有的checkboxQ可以用:Ext.fly(‘container’).select(‘input[type=checkbox]’);
    • 在ID为container的DIV内创Z个按钮,可以使用Q?span style="font-family: Courier New; color: #ff8000">Ext.fly(‘container’).createChild({ tag: ‘input’, type: ‘button’});
    • 为ID为container的DIV的click事g注册处理函数Q用:Ext.fly(‘container’).on(‘click’, handlerFn, scope);
  • ExtJS的自定义事g很好?/strong>Q可以实C对多的通知Q而且M自定义事仉可以中途停止,只要有一个处理函数返回false?
  • Store合ƈ成一个文?/strong> 用ExtJS昄数据Q自然就需要用到Ext.data.Store及其z出来的类Q可以考虑所有的Store合ƈC个文Ӟq样寚w用有很大的帮助?
  • 脚本文g理 可能的每个模块做成一个类Q一个类一个文ӞcM与Java或C# 的文件处理方法,每个文g注明其作用,依赖的文件等Q如果太多的话可以考虑写一个配|文Ӟ通过读配|文件来输出脚本到客L?
  • 调试和部|分别加载Debug和Release版本的脚?/strong> ExtJS附带的例子中没有使用完整Debug版本的例子,所以很多h找不到完整的Debug版本的引用顺序,通过对Source文g夹下的ext.jsb文gq行分析Q就可以得到正确的加载顺序,如下Q?
    • Debug
      1. /ext-path/source/core/ext.js
      2. /ext-path/source/adapter/ext-base.js
      3. /ext-path/ext-all-debug.js
    • Release
      1. /ext-path/adapter/ext/ext-base.js
      2. /ext-path/ext-all.js
  • 对Scriptq行压羃 寚w目中有大量的JavaScript的话Q对其进行压~是很有必要的,q里我推荐的是ExtJS的论坛提供的JS BuilderQ可以通过配置文g来对Script和CSSq行压羃Q据说ExtJS是用这个工兯行压~的Q不q有一个缺点,是不支持UTF-8~码?/li>

 

4. ExtJS的优点和~点ȝ。经q近一q的试QExtJS的优~点ȝ如下Q?

5. 使用ExtJS做应用的一些徏?/strong>。多Ch认ؓExtJS的脚本体U很大,不适合攑ֈ互联|上Q对于这一点,有如下徏议:

  1. 部vC联网上的Web应用一定要加蝲Release版本的ExtJS
  2. 可以考虑只加载必ȝlgQbuild目录下脚本文仉是压~过的,如果目中用到的ExtJS的组件不是很多,可以只加载用到的
  3. 考虑使用IIS的文件压~功?
  4. 使用Google的GearsQ把所有的静态文件做客户端缓?
  5. 使用ADOBE的AIRQ把脚本打包到客Lq行

 

ȝ来说QExtJS是一个不错的框架Q它陪伴我走q了_ֽ?008Q也许在未来?009Q我会{向其它的RIA技术,但是我至会l箋xExtJSQ同时也希望q个框架能够强的生存下厅R?/p>

PSQ共享一些学习资料:



]]>
վ֩ģ壺 ޲avĻ| һһһëƬëƬ| VVA| Ů18ëƬˮѲ| һëƬѹۿƵ| һŮ18ƬëƬƵ| ޾ƷavĻ| ͵ƷƵ| ޾Ʒվ߹ۿ | þþþƷ޳18վ | ݹѹǹ | Ƶۿwww| Ļ߹ۿվַ | ѹۿҹŷëƬ| ĻƵ߹ۿ | þ99žŹѿС˵| þþþóƬѹۿѿ| ɫƵѿ| Ļ߾Ʒһ| ޾Ʒ߹ۿ| ˬ AVˬ| ޹++ۺ| ŷ߲| þۺɫHEZYO| ģ߹ۿ| vavava888www| ޹Ƭ߹ۿ| þAAAƬ69| ͵͵߶̬ͼ| Ļ| ۺϹƷһҳ| AVһþ| ˬˬһ| þԭav| 97ۺɫ| ɫһ| vaĻþò| A޾VƷɫ| ޾ѡ߹ۿ| һƵ| ȫƵѹۿ|