深入浅出Ext JS(第2版)读书笔记(1)

时间:2021-08-23 23:41:55

第1章 EXT概述

1.1  EXT版本变迁

q  EXT1.0 发布于2007年2月,这标志着EXT正式从YUI社区中独立出来,不再仅仅支持YUI,而是提供了ext-base、prototype、jqury和YUI四种底层实现。采用多协议发布方式,用户可以选择在LGPL协议和企业协议下使用EXT。

q  EXT2.0发布于2007年12月,这次大版本升级重写了核心组件部分,简化了组件的布局,而且EXT2.0之后我们可以使用layout和items属性更加方便地实现各种复杂布局,而且EXT2.0中也提供了许多功能强大的布局方式。

q  EXT2.1发布于2008年4月,这次版本升级包括对REST的支持,并提供了一些扩展组件。自2.1之后,所有未付费的用户都只能在GPL协议下才能使用EXT,也就是说EXT2.1以及之后的版本都无法直接用于商业项目,必须向EXT缴费购买商业授权才能在商业产品中使用EXT。

q  EXT2.2发布于2008年8月,这个版本提供了对浏览器FireFox3.x的支持,并提供了多种高级表单输入控件,比如可以实现单选多选框横排的RadioGroup和CheckboxGroup,多选列表MultiSelect和ItemSelector以及文件上传组件FileUploadField。

q  EXT2.2.1发布于2009年2月,这个版本提供了对Chrome浏览器的支持,解决了一些内存泄露问题,并为Container提供了removeAll()函数,可以直接清空容器内的所有组件,同时提供了多种AIR下的扩展组件。

q  EXT3.0发布于2009年12月,这是目前最新的一个发布版本了,此版本中最大的变化是对性能的提升,并解决了单页面应用长期使用时出现的内存泄露问题。

1.2  下载EXT发布包

我们可以从www.extjs.com/download免费获得EXT发布包,其中源代码、API文档和示例一应俱全。不过,如果想通过访问SVN获得最新的代码,就得花钱了。

1.3  如何查看EXT自带的API和示例

EXT发布包中的API文档放在docs目录下,虽然可以看到左边的菜单,但是点击之后,右侧的API都是通过Ajax方式获得的,不能直接在本地查看,必须解压之后部署到服务器上,然后通过浏览器访问服务器,这样才能看到,如果没有把这些内容放在服务器上,则docs就会打不开。

EXT发布包中也包含示例,可以在浏览器直接打开examples目录下的samples.html。当然,有一些示例需要放在服务器上才能看到效果。有一些示例的后台代码是使用PHP编写的,如果想查看这些示例的效果,还需要配置PHP运行环境。

如果你用Java,而且JDK的版本在1.5以上,那么建议你安装resin-3,因为可以直接在它上面运行PHP示例。

当然,你也可以在EXT网站的API home页上找到这些示例

1.4  为什么有些示例必须放在服务器上才能看到效果

有些示例用Ajax从后台读取数据,如果该示例不在服务器上,Ajax就会一直返回失败状态,从而无法获得任何数据,所以就看到正确的效果。不过,在www.extjs.com网站的论坛上曾经有人写了localXHR,可以通过Ajax方式从本地文件系统获得数据,这样也许就可以摆脱服务器的束缚了。随书代码中包含了localXHR.js,直接将此文件复制到你的应用中,即可实现使用Ajax从本地文件系统中直接获得数据。

1.5  Hello World

1.5.1    直接使用下载的发布包

如果你已经从http://www.extjs.com/download下载了EXT的zip格式的发布包,那么可根据如下步骤来使用它。

(1)将该发布包解压缩,其目录结构应该如图1-2所示,各目录的用途简要介绍如下。

深入浅出Ext JS(第2版)读书笔记(1)

q adapter目录下是EXT的核心代码和底层库,包括jQuery、Prototype和YUI的适配器。

q docs目录下是EXT的文档,其实最主要和最重要的是EXT的API,EXT开发中离不它。

q examples目录下是官方的演示示例,是初学者学习EXT的最佳途径之一。

q pkgs目录下是EXT压缩后的代码,经过压缩的代码,体积更小,加载更快。

q resource目录下是EXT要用到的图片文件和样式文件,EXT绚丽的外观全部由这个目录中的文件控制。

q src目录下是EXT的源码文件,也就是相对pkgs目录而言,未经过压缩的代码。

q ext-all.js文件是EXT的核心库,是必须引入的。

q ext-all-debug.js文件是ext-all.js的调试版,在调试时使用这个调试版本的文件才能正确定位出现错误的位置。

q INCLUDE_ORDER.txt文件用来说明在页面上引用底层库的JavaScript文件的顺序。

q LICENSE.txt文件是EXT的使用许可文件。

 

1.5.2    在项目中使用EXT

1.6  为什么页面提示“找不到图片”

1.7  辅助开发

1.7.1    调试工具Firebug

1.7.2    开发利器Spket

1.8  小结