前言 1
第1章 接触Flex技术 1
1.1 Flex与Web应用的发展 1
1.1.1 用户对Web应用的期待 1
1.1.2 开发者对开发技术的期待 1
1.1.3 Flex带来的新气象 1
1.2 Flex技术的相关概念 2
1.2.1 RIA与Flex 2
1.2.2 RIA既是C/S又是B/S 3
1.2.3 RIA的未来 3
1.2.4 Flex与Flash的关系 3
1.2.5 Flex是“客户端技术” 4
1.2.6 Flex的三种通信方式 5
1.2.7 LCDS/FDS与AmfPHP 5
1.2.8 MVC框架与Flex 6
1.2.9 Flex开发框架 6
1.2.10 Flex操作本地/跨域资源 6
1.2.11 AIR与Flex 6
1.2.12 是否使用会话 7
1.2.13 Flex中文字体 7
1.2.14 FlexFramework与Flex程序“瘦身” 8
1.2.15 浏览器缓存和永久缓存 8
1.2.16 SWC文件 9
1.2.17 RSL 10
1.2.18 异步执行模式 10
1.2.19 Flex程序与浏览器的关系 11
第2章 企业级Web应用系统 12
2.1 什么是企业级应用系统 12
2.2 开发特点 13
2.3 设计要求 13
2.4 设计/开发原则 13
2.4.1 系统设计的从简原则 13
2.4.2 功能设计的适度原则 13
2.4.3 代码编写的“傻瓜”原则 14
2.5 设计思路和方法 14
2.6 具体的设计方法 14
2.6.1 系统架构的分层设计 14
2.6.2 模块/接口设计 1
2.6.3 异常捕捉设计 17
2.7 规则 18
2.7.1 为什么需要规则 18
2.7.2 规则有哪些 18
2.7.3 命名规则 19
2.7.4 代码编写规则 21
2.7.5 总结 22
第3章 客户端开发规则 23
3.1 命名规则 23
3.2 编码规范 23
3.3 异常处理规范 25
第4章 Flex客户端技术实现 27
4.1 模块化 27
4.1.1 原理 27
4.1.2 技术要点 27
4.1.3 实例1:界面切换 32
4.2 事件机制 35
4.2.1 事件是什么 35
4.2.2 事件传播路径 35
4.2.3 事件机制描述 35
4.2.4 事件流 36
4.2.5 技术要点 39
4.2.6 实例2:事件的捕捉/目标 41
4.2.7 实例3:事件的冒泡/目标 45
4.2.8 实例4:事件传播机制 46
4.3 界面切换(事件触发) 48
4.3.1 原理 48
4.3.2 实例5:利用事件进行界面切换 48
4.4 利用事件传递数据 52
4.5 编写Flex界面组件 52
4.5.1 自定义界面组件的两种形式 53
4.5.2 技术要点:MXML形式的组件 53
4.5.3 技术要点:As脚本形式的组件 56
4.5.4 MXML组件与As组件的比较 58
4.5.5 实例6:MXML形式的自定义组件 58
4.5.6 实例7:As脚本形式的自定义组件 62
4.5.7 实例8:自定义组件的继承和功能扩展 65
4.6 自定义数据校验组件 67
4.6.1 自定义数据校验类的技术要点 68
4.6.2 使用数据校验类的技术要点 70
4.6.3 同时进行多种校验的技术要点 71
4.6.4 实例9:自定义数据校验类 73
4.6.5 实例10:同时进行多个数据校验 78
4.7 接口机制 84
4.7.1 接口是什么 84
4.7.2 接口涉及的四种对象 84
4.7.3 接口调用的方向 8
4.7.4 接口的特点 8
4.7.5 技术要点 86
4.7.6 接口的应用场合 90
4.7.7 实例11:调用子界面的接口函数 90
4.7.8 实例12:调用主界面的接口函数 93
4.8 数据绑定机制 96
4.8.1 数据绑定是什么 9
4.8.2 数据绑定的步骤 99
4.8.3 数据绑定涉及的三个概念 9
4.8.4 源对象个数:目标对象个数 100
4.8.5 数据绑定的原理 100
4.8.6 技术要点 101
4.8.7 实例13:将函数绑定到事件 102
4.9 Flex乱码 105
4.10 UTF-8字符集 107
4.11 读取属性文件 107
4.11.1 属性文件与Flex程序编译 108
4.11.2 技术要点 108
4.11.3 实例14:读取文本 110
4.11.4 读取文本实例中可能遇到的问题 112
4.11.5 属性文件编辑插件 114
4.12 国际化(单界面应用) 118
4.12.1 原理 118
4.12.2 实现步骤 118
4.12.3 实例15:实现国际化 119
4.13 swc文件组成与使用 124
4.13.1 swc文件的内容及用途 124
4.13.2 swc文件与swf文件的关系 124
4.13.3 swc文件的组成 124
4.13.4 swc文件的使用:编译进程序中 129
4.13.5 swc文件的使用:在程序外部动态执行 130
4.13.6 实例16:swc文件的组成 132
4.13.7 实例17.swc文件的使用 134
4.14 RSL的组成 136
4.15 国际化(多界面应用) 139
4.15.1 实例18:多界面应用 141
4.15.2 swc文件的开发 143
4.15.3 语言类型选择子界面的开发 147
4.15.4 子界面2的开发 150
4.15.5 子界面3的开发 152
4.15.6 主界面的开发 155
4.15.7 作业 157
4.16 取得/改变URL 157
4.16.1 技术要点 157
4.16.2 实例19:Flex程序与浏览器的URL的相关操作 158
4.17 取得URL中的参数 160
4.17.1 技术要点 160
4.17.2 实例20:使用片段从浏览器的URL取得参数 161
第5章 安装服务器 165
5.1 Web服务器/应用服务器 165
5.2 ApacheWeb服务器的安装 166
5.3 PHP应用服务器的安装 169
5.4 AmfPHP的安装 174
5.5 MySQL的安装 181
5.6 MySQL Query Browser的安装 185
5.7 Apache OpenSSL的安装 189
第6章 服务器端技术实现 201
6.1 基本交互(单值交互) 201
6.1.1 消息通道的概念 201
6.1.2 技术要点 203
6.1.3 实例21:定义消息通道 205
6.2 复杂交互(数据结构体交互) 210
6.2.1 技术要点 210
6.2.2 实例22:传递自定义数据结构体 212
6.3 跨域访问(crossdomain.xml) 216
6.3.1 实例23:使用跨域策略文件 218
6.3.2 实例24:观察跨域策略文件 225
6.4 局部使用SSL 227
6.4.1 技术要点 228
6.4.2 实例25:局部使用SSL 228
6.5 登录验证处理 234
6.5.1 重要概念 234
6.5.2 技术要点 235
6.5.3 实例26:使用Session保存在线用户 236
6.6 限制重复登录 246
6.6.1 设计思路 246
6.6.2 技术要点 248
6.6.3 实例27:限制重复登录 249
第7章 安全设计 260
7.1 安全须知 260
7.2 不安全来自哪里 260
7.3 不安全代码的示例 261
7.3.1 输入的不安全 261
7.3.2 输出的不安全 264
7.3.3 会话的不安全 266
7.3.4 文件系统操作的不安全 267
7.3.5 文件存放结构的不安全 267
7.3.6 数据传输的不安全 268
7.3.7 数据保存的不安全 268
7.3.8 服务器软件配置的不安全 269
7.4 安全原则 269
7.5 总结 270
第8章 服务器端开发规则 271
8.1 命名规则 271
8.2 编码规范 273
8.3 异常处理规范 273
第9章 综合练习—实例28 274
9.1 开发目标 274
9.2 界面效果 274
9.3 Flex模块化设计 276
9.4 PHP架构设计 276
9.5 数据库定义 278
9.6 开发计划 278
9.7 源代码 279
9.7.1 PHP公共函数的组成 279
9.7.2 aaVadator.swc的组成 281
9.7.3 aaLocal.swc的组成 283
9.7.4 aa_0000的组成 286
9.7.5 aa_1000的组成 289
9.7.6 aa_2000的组成 293
9.7.7 aa_3000的组成 315
9.8 配置运行环境 322
9.9 功能扩展说明 323