出版时间:2012-4 出版社:清华大学出版社 作者:钟协良 页数:647 字数:898000
Tag标签:无
内容概要
《extjs开发实战》从extjs中最基本的概念开始,例如dom操作、面向对象、component/container模型的生命周期、组件管理等,并介绍如何使用项目开发中最常使用的各种组件,例如
panel、formpanel、gridpanel等,其中介绍了在extjs 3与extjs
4中,数据存储模型如何指派给不同的组件使用,进而达到截然不同的数据交互方式。例如,editorgridpanel与gridpanel虽然可以共享一个store对象,但两者在数据交互上的设计取决于用户该如何与之交互。
最后,《extjs开发实战》提供两个实际的开发案例,简化过之后作为实战案例供读者参考,其中展示了extjs应如何与后端框架cakephp结合。
作者简介
钟协良
国立台湾师范大学工业教育系毕业,曾任职于高等教育中心、教育部电子计算中心,负责全国型系统设计与实现。擅长JavaEE、CakePHP、Codelgniter等框架的应用,以及ExtJS、jQuery与ActionScript,醉心于Java与Flex相关应用研究,并已获得SCJP、SCWCD及SCBCD等证书。现任职于内湖安德网络行销公司,负责开发团购网站、Facebook
App及其他有趣的社区相关应用程序。
书籍目录
第 1 章 入门
1.1 何谓extjs
1.2 cakephp
1.3 部署开发环境
1.3.1 部署服务器
1.3.2 部署cakephp
1.3.3 部署extjs
1.4 开发工具
1.5 调试与性能评估工具
1.5.1 firebug 插件
1.5.2 chrome的javascript控制台
1.5.3 性能评估与数据监控
1.6 小结
第ⅰ部分 基础架构
第 2 章 extjs 101
2.1 javascript的面向对象
2.1.1 创建类
2.1.2 定义类方法与类属性
2.1.3 类的继承
2.1.4 extjs在面向对象方面的支持
2.1.5 实战练习:预配置类
2.2 浏览器对象模型:bom
2.2.1 命名空间
2.2.2 用户代理对象
2.2.3 历史记录对象
2.2.4 dom文件对象document
2.2.5 cookie
2.2.6 定时调用函数
extjs 开发实战
第 3 章 dom与event
3.1 extjs对dom的支持
3.1.1 创建element实例
3.1.2 通过element创建dom节点
3.1.3 读取/更新dom节点及属性
3.1.4 domhelper与template、xtemplate
3.2 extjs对事件的支持
3.2.1 一切的开始——ext.ready()
3.2.2 注册/移除事件处理程序
3.2.3 ext.eventmanager
3.2.4 阻止事件的进行与默认行为
3.2.5 ext.util.observable与自定义事件
3.3 实战练习:画布应用
第 4 章 好用的php框架——cakephp
4.1 cakephp的设计结构
4.2 自动化开发
4.3 cakephp基础
4.3.1 cakephp的配置文件core.php
4.3.2 cakephp的基础模板default.ctp
4.3.3 模型
4.3.4 控制器
4.3.5 视图与视图助手
4.4 实战练习:登录窗体
4.4.1 制作模型
4.4.2 编写控制器
4.4.3 编写页面视图
4.4.4 更改默认控制器
4.4.5 url前缀的应用
4.4.6 使用cake 2.*版本? 不,谢谢
4.4.7 下一步
第 5 章 ajax与数据驱动
5.1 ext.ajax与ext.data.connection
5.2 存储对象
5.2.1 ext.data.store
5.2.2 读取远程数据
5.3 实战练习:表格组件
第 6 章 component结构
6.1 component模型
6.2 常用组件
6.2.1 colorpalette 调色板
6.2.2 button按钮
6.2.3 splitbutton按钮
6.2.4 baseitem基础选项
6.2.5 datepicker日期选择面板
6.3 xtype神秘类型
6.4 实战练习:自定义组件
第 7 章 container结构
7.1 container容器
7.2 panel容器
7.2.1 添加子组件/容器
7.2.2 移动子组件/容器
7.2.3 查找子组件/容器
7.2.4 删除子组件/容器
7.2.5 顶层组件栏(tbar)与底层组件栏(bbar)
7.2.6 可折叠的panel
7.2.7 嵌套panel
7.3 viewport容器
7.4 window容器
7.5 buttongroup容器
7.6 button类似容器的用法
7.7 实战练习:更实用的window类
extjs 开发实战
第ⅱ部分 视图组件
第 8 章 页面布局
8.1 一切都从containerlayout开始
8.2 可让组件大小随容器改变的anchorlayout
8.3 可随意摆放组件的absolutelayout
8.4 填满容器的fitlayout
8.5 如手风琴般的accordionlayout
8.6 将组件以扑克牌方式摆放的cardlayout
8.7 表单布局formlayout
8.8 边界布局borderlayout
8.9 水平布局hboxlayout与垂直布局vboxlayout
8.10 列布局columnlayout
8.11 表格布局tablelayout
8.12 混合布局
8.13 实战练习:自定义布局
第 9 章 表单组件
9.1 表单容器formpanel与一般容器panel的差异
9.2 文本字段
9.2.1 密码字段
9.2.2 文件上传字段
9.2.3 文本块
9.2.4 数字字段
9.2.5 字段验证
9.2.6 隐藏字段
9.3 下拉菜单与自动完成
9.3.1 使用本地数据
9.3.2 远程数据与下拉菜单
9.3.3 远程数据与自动完成
9.3.4 联动下拉菜单
9.4 wysiwyg文本编辑器
9.5 日期字段
9.6 复选组件与单选组件
9.7 提交/读取数据
9.8 字段提示quicktips与quicktip
9.9 美化表单
9.9.1 使用boxcomponent为表单添加自定义html内容
9.9.2 使用fieldset集合特定字段
9.10 实战练习:登录表单
第 10 章 表格组件
10.1 gridpanel是如何组成的
10.2 创建gridpanel与数据排序
10.3 使用pagingtoolbar进行分页
10.4 girdpanel与查询
10.5 自定义绘图器
10.6 通过selectionmodel与gridpanel交互
10.7 实战练习:dtable
第 11 章 可编辑表格组件
11.1 创建editorgridpanel
11.2 更换字段编辑器与数据交互
11.2.1 更换字段编辑器
11.2.2 添加与删除记录
11.3 使用roweditor
11.4 数据的提交与回滚
11.4.1 commitchanges()与rejectchanges()
11.4.2 同步服务器数据
11.5 使用datawriter
11.6 实战练习:etable
第 12 章 dataview与listview
12.1 dataview
12.1.1 创建数据显示样式
12.1.2 创建store与xtemplate
12.1.3 创建dataview
12.1.4 让dataview可分页
extjs 开发实战
12.2 listview
12.3 属性设置表propertygrid
12.4 实战练习:数据读取
第 13 章 图表组件
13.1 图表底层的秘密
13.2 折线图:linechart
13.2.1 绘制折线图
13.2.2 修改提示信息
13.2.3 添加水平/垂直轴的标题
13.2.4 修改图表风格
13.2.5 添加多个序列
13.3 柱形图:columnchart与stackedcolumnchart
13.4 条形图:barchart与stackedbarchart
13.5 圆饼图:piechart
13.6 实战练习:图表应用
第 14 章 树状组件
14.1 使用静态数据创建treepanel
14.2 读取服务器数据
14.3 操作节点
14.3.1 添加节点
14.3.2 删除节点
14.3.3 编辑节点
14.3.4 查询节点
14.3.5 排序节点
14.4 columntree
14.5 实战练习:treeeditor
第 15 章 菜单与工具栏
15.1 创建菜单
15.1.1 菜单101
15.1.2 菜单事件
15.1.3 加入separator与textitem
15.1.4 colormenu与datamenu
15.1.5 添加复选框
15.1.6 添加单选按钮
15.2 使用上下文菜单
15.3 创建工具栏
15.4 实战练习:复杂的菜单与工具栏组合
第 16 章 拖放——drag与drop
16.1 拖放的基础知识
16.2 拖放操作的实现
16.2.1 注册dom元素为dd
16.2.2 使用ddtarget注册放置目标
16.2.3 使用ddproxy
16.3 实战练习:将拖放与组件结合
16.3.1 dataview与拖放
16.3.2 treepanel与拖放
第 17 章 插件
17.1 继承的限制
17.2 插件的实现
第 18 章 长路漫漫——extjs 4
18.1 类系统
18.1.1 定义类的新方式
18.1.2 动态读取类定义与依赖性管理
18.1.3 混合属性
18.1.4 静态方法
18.1.5 自动生成变量的getter/setter方法
18.2 data 封包
18.2.1 model
18.2.2 proxy与store
18.3 panel、formpanel、gridpanel与window
18.3.1 panel组件
18.3.2 formpanel组件
extjs 开发实战
18.3.3 gridpanel组件
18.3.4 window组件
18.4 图表组件
18.4.1 area图表
18.4.2 bar图表
18.4.3 radar图表
18.4.4 pie图表
extjs 4后记
第ⅲ部分 实战案例
第 19 章 案例——记账系统
19.1 系统需求分析
19.2 系统规划
19.2.1 界面规划
19.2.2 后台服务器部署
19.3 系统实现
19.3.1 实现cakephp端
19.3.2 实现extjs界面
19.4 与cakephp结合
第 20 章 案例——人人网应用程序
20.1 系统功能分析
20.2 系统部署
20.3 封装google maps api的类gmap
20.4 组合界面组件
20.4.1 定义geomappanel
20.4.2 定义functionmenu
20.4.3 定义georecordgridpanel
20.4.4 定义mainpanel
附录 学习与实现资源
章节摘录
版权页: 插图: 1.2 CakePHP CakePHP是众多PHP框架中的一种,其他相同类型的框架还有Symfony、CodeIgniter、Zend Framework等。选择CakePHP的原因在于:该框架彻底实现了MVC模式、修改容易、部署有弹性、完全支持RESTful形式的URL,并且官方文件也非常齐全。CakePHP还代表部署系统的一种方式,例如所有的JavaScript代码都应该放置在app/webroot/js文件夹下,而CSS文件则应该放置在app/webroot/css文件夹下。 CakePHP还将程序源代码与文件夹分离开来,对Apache的所有访问请求所用到的图片、SWF文件等资源存放在app/webroot中,而PHP脚本则是放置在app文件夹下。如果将Apache的文件位置指app/webroot,那么外部的访问者将无法通过Apache获取系统应用层的PHP脚本。CakePHP在系统升级方面也非常简单,升级到新版本时,只需要替换cake文件夹即可,不需要修改应用程序源代码,这让后续的程序维护变得很简单。CakePHP适合用于实现Ajax方面的应用,在后续章节中,可看到cakePHP与ExtJS可以顺利结合,让程序员将更多的精力放在编写代码上,而不用担心数据输出格式等琐碎细节。 开发环境的部署,主要先从服务器、CakePHP的部署开始,然后到部署ExtJS,下面分别进行说明。 1.3.1 部署服务器 如果要开发Web应用程序,架设一台自己的Web服务器是必须要做的事情,但架设一台服务器并不代表需要实际去购买硬件并在上面安装服务器软件。现在的软件业如此发达,用户可以很容易地在自己现有的服务器上安装简称VM的虚拟机,进而模拟真实的硬件环境。在VM环境下,用户可以安装大多数的操作系统,例如Linux、Windows Server 2008等。最棒的是,如果服务器坏了,重装VM就可以解决问题。 目前市面上比较有知名度的VM软件有VMware、Hyper—V和Virtual pc。其中,Hyper—V必须在微软操作系统上运行,其他两个都有针对各种操作系统的版本。笔者采用Mac OS X进行系统开发,因此选择VM Fusion来搭建VM。但VM Fusion是收费的,VMware则提供了Windows的免费单机版,功能还可以,对于开发环境来说已经足够使用。Virtual PC是完全免费的软件,同时提供TWindows与Mac OS X的运行版本,在性能和稳定性上都有不错的表现。 如果不想花较大精力搭建自己的服务器,可以考虑XAMPP等PHP开发应用程序套件。套件可提供不同的操作系统版本,在启动方面也很容易,只需要单击按钮,就可以打开所需的服务,女HApache、MySQL以及FTP。但笔者不建议这样使用应用程序套件,原因在于:这些套件与实际商用部署环境有非常大的差距,此外,套件内往往会有不需要的模块与功能。
编辑推荐
《Ext JS开发实战》讲解DOM操作、面向对象、Component及Container等基础知识;结合PHP框架与后台服务器,学习如何通过Ajax交换数据;针对页面布局、各类组件、菜单与工具栏等,通过示例说明各种设定;针对4.0版本,介绍全新的元素、数据存储模型与图表支持;以记账系统及人人网应用程序为实际案例,体验真实的项目开发流程。
图书封面
图书标签Tags
无
评论、评分、阅读与下载