Web程序的革命
取自DOJO中国ExtJs教程PPT
?
CGI--基于传统服务器端模式
Java Applet--基于本地虚拟机的运行模式
Flash--基于浏览器插件的运行模式
Web Start--在线安装运行模式
Ajax--基于浏览器的运行模式
RIA--基于Flex、Sliverlight桌面程序系统
?
选择Ajax理由
AJAX虽然不是最新的WEB开发技术,但是是最后一个支持浏览器的WEB开发技术,因为无论是Slverlight,还是Flex其原理已经不再需要浏览器支持了,而浏览器技术发展到现在,不可能在短期放弃
Ajax大都用Javascript,JavaScript在经历近十年发展,已经拥有庞大的应用队伍,其继续发展的可能性是肯定存在的。
?
ExtJs属于Ajax技术
基于JavaScript语言
基于java Swing的MVC架构
支持组件化、模块化设计
提供“本地数据源”的支持
完善与服务端的交互机制
是最可能拥有大规模可视化集成开发环境的AJAX技术
?
学习ExtJs的前提
Javascript(必须)
JSON(必须)
Java
C#
Web Services
HTML DOM(必须)
AJAX
基于类化思维的JavaScript编程
?
?
ExtJS基本概念
ExtJS--组件component
能够以图形化形式呈现界面的类,其中还可分为容器组件与元件组件
容器组件:能够包含其他容器组件或者元件组件的类,其是进行单元化组件开发的基础
元件组件:能图形化形式表现一个片面功能的组件,其不仅在实现了原有传统WEB程序的现有组件,而且还扩展了许多实用的组件,如刻度器、日历、树形列表等。
?
ExtJS--类class
提供功能的非图形的类,它们为图形类提供了有力的支持
按其功能可分为:数据支持类(data)、拖放支持类(dd)、布局支持类(layout)、本地状态存储支持类(state)、实用工具类(util)
密封类:不能扩展的类
原型类:扩展了JavaScript标准类库中的类
?
ExtJS--方法method
作为类的功能体现,能够产生改变对象本身产生变化的直接因素
方法按访问形式可分为公有方法与私有方法。但由于JavaScript从原理上根本不支持这种结构,因此在ExtJS中,私有与公有方法完全凭借着用户自觉,没有像Java那样的强制性。
?
ExtJS--事件Event
由类定义的、并且可以在类对象自身状态发生改变时触发
只有被订阅的时间才有效
如果不需要此事件,应该进行退订,增强程序的执行效率
?
ExtJS--配置选项config option
用以初始化一个ExtJS类对象的手段
注意,配置选项并不一定就是属性,就算是属性,也有可能出现属性性返回的类型与你当初指定的配置选项类型不一致的情况
?
ExtJS--属性property
能够在程序运行期间,能够被访问,用以了解当前类对象的状态
在实际的编程中,ExtJS的属性设置,比较差劲,需要通过了解其源代码,才能了解各种使用属性的用处。
?
ExtJS--命名空间
能够将编好的ExtJs类进行有效组织的手段
这个也是ExtJS能够称之为优秀AJAX框架的特征之一
?
EXTJS SDK中的结构
ext-all.js和ext-all-debug。技术:extJS的全功能版本和调试全功能版本
Ext-core.js和Ext-core-debug.js:extJS的基本功能版本和基本功能调试版本,一般是用于网站建设与一般性AJAX应用
Adapter目录:为了使用其他优秀AJAX框架为ExtJS提供有力的技术支持,而提供的适配器模式,目前提供了四种底层支持框架,Ext(由ExtJS自主开发)、JQuery、prototype、yui
?
Air:ExtJS对于Adobe公司的富客户端技术AiR技术的支持。
Build:各个组件的部署版本
Docs:ExtJS组件API文档
Examples:EXTJS自带的示例
Source:ExtJS各个组件的源代码
Resources:ExtJs所使用到的资源文件,比如CSS、图形等
?
ExtJS程序运行环境
CSS文件:这个是对ExtJS的widget的全面支持资源文件,一般情况下。我们会引用resources\css\ext-all.css文件
底层支持文件:对整个ExtJs的程序对底层操作诸如HTMLDom读写,XMLHTTPRequest的应用等,一般情况下,我们会引用adapter\ext\ext-base.js
环境文件:包括ExtJS的特有技术,一般情况下,我们会引用ext-all.js