Flex是Adobe公司的产品,是用于开发Web系统富客户端的首选技术。它丰富的UI技术能够用于开发非常有魅力的用户界面,带给用户灵活的操作体验;其强大的客户端处理能力能够有效地分担服务器的负载,真正实现MVC的架构,使得Web系统的开发变得更加容易,提高了开发效率。
本书从Web系统的架构角度介绍Flex技术。在讲解Flex技术要点的同时,带领读者一起思考Flex技术对Web系统未来的影响。
本书特色
●按照企业级Web系统开发的要求,在讲解Flex技术实现具体Web功能的同时,把一种Web系统的设计理念和规范融入其中。
●内容安排上循序渐进、由浅入深,配合有针对性的实例,使本书的内容易于理解和掌握。
●本书力图让读者从整体上把握开发Web系统的要点,而不是过度专注于技术细节。这种意图贯穿于本书的始终。
精彩示范效果
随书光盘中附带完整的范例代码、可执行版本以及示例的构建开发/运行环境的相关软件。
无
企业级Web应用系统规模很大,需要多人团队协作开发,其本质完全不同于小规模的开发。系统架构设计必须适合于团队并行开发。
软件开发的最终结果在很大程度上于初始阶段就决定了。系统架构的设计是前期工作中最重要的一环,系统架构的好坏直接影响着软件系统的品质、开发投入的人工、时间和成本。如何设计企业级Web应用系统是本书要介绍的主要内容。
本书不是教科书,不会告诉读者应该怎样,不应该怎样,而是把企业级Web应用系统开发过程中得出的经验和方法介绍给读者,希望引起读者的思考,并对读者的实际工作有所帮助。
本书的实例采用Flex 3、AmfPHP、PHP和MySQL技术。
面向的读者
本书面向具有Web应用系统开发经验的系统设计人员和软件工程师,因此,会忽略一些基础知识。这些基础知识请读者自行参考其他书籍。
本书从企业级Web应用系统的设计角度进行阐述,内容中涉及的问题、思维方法和解决方案不受技术的限制。因此,即使对实例采用的Flex技术、PHP技术和MySQL技术不甚熟悉,你仍然能够从本书中有所收获。
为什么采用Flex技术
Flex是实现“富客户端”的技术之一。Flex技术最能够体现Web应用系统的MVC架构。Flex技术不但使系统的设计更加容易,而且与AJAX等客户端技术相比,开发效率更高、可维护性更强。在用户体验方面,Flex技术能够提供更加友好的操作性和更具魅力的视觉效果。采用Flex技术开发企业级Web应用系统将成为今后的主流。
本书结构
本书分为9章:
第1章“接触Flex技术”阐述作者对Web应用现状、未来发展的判断以及Flex技术对Web应用发展的影响。对于业界对Flex技术本身的争论点提出作者的看法。
第2章“企业级Web应用系统”从介绍企业级Web系统开始,说明其设计特点和主要方法。
第3章“客户端开发规则”为第4章的各个实例设定开发规则。
第4章“Flex客户端技术实现”通过实例讲解采用Flex技术开发企业级Web应用系统的各个技术要点,最后总结性地结合这些技术要点完成一个相对复杂的功能。
第5章“安装服务器”详细地介绍如何配置Web应用系统的运行环境。
第6章“服务器端技术实现”通过实例讲解Flex如何与服务器端PHP程序进行交互。
第7章“安全设计”介绍Web应用系统常见的安全漏洞和对策。
第8章“服务器端开发规则”为第9章的实例设定开发规则。
第9章“综合练习”结合Flex客户端技术和PHP技术,实现一个企业级Web应用系统开发框架的雏形,完成通用的用户注册/登录功能。读者可以在此开发框架雏形的基础上,方便地扩展功能。
本书实例需要的软件
本书实例需要的软件有:Flex 3 Builder、Apache最新版、AmfPHP20、PHP50和MySQL。
准备工作
阅读本书之前,建议先了解Flex和PHP的基础知识(如果没有接触),然后按照章节顺序阅读和练习。
结束语
希望你通过阅读本书有所思考和收获。你提出的建议和意见将有助于本书的改进。接到你的反馈,将是我的荣幸。我的电子邮件是:tiangej@hotmail.com。
姜天格
Flex是Adobe公司的产品,是用于开发Web系统富客户端的首选技术。它丰富的UI技术能够用于开发非常有魅力的用户界面,带给用户灵活的操作体验;其强大的客户端处理能力能够有效地分担服务器的负载,真正实现MVC的架构,使得Web系统的开发变得更加容易,提高了开发效率。 本书从Web系统的架构角度介绍Flex技术。在讲解Flex技术要点的同时,带领读者一起思考Flex技术对Web系统未来的影响。 本书特色 ●按照企业级Web系统开发的要求,在讲解Flex技术实现具体Web功能的同时,把一种Web系统的设计理念和规范融入其中。 ●内容安排上循序渐进、由浅入深,配合有针对性的实例,使本书的内容易于理解和掌握。 ●本书力图让读者从整体上把握开发Web系统的要点,而不是过度专注于技术细节。这种意图贯穿于本书的始终。 精彩示范效果 随书光盘中附带完整的范例代码、可执行版本以及示例的构建开发/运行环境的相关软件。
姜天格:暂无简介
前言
第1章接触Flex技术1
11Flex与Web应用的发展1
111用户对Web应用的期待1
112开发者对开发技术的期待1
113Flex带来的新气象1
12Flex技术的相关概念2
121RIA与Flex2
122RIA既是C/S又是B/S3
123RIA的未来3
124Flex与Flash的关系3
125Flex是“客户端技术”4
126Flex的三种通信方式5
127LCDS/FDS与AmfPHP5
128MVC框架与Flex6
129Flex开发框架6
1210Flex操作本地/跨域资源6
1211AIR与Flex6
1212是否使用会话7
1213Flex中文字体7
1214Flex Framework与Flex程序
“瘦身”8
1215浏览器缓存和永久缓存8
1216SWC文件9
1217RSL10
1218异步执行模式10
1219Flex程序与浏览器的关系11
第2章企业级Web应用系统12
21什么是企业级应用系统12
22开发特点13
23设计要求13
24设计/开发原则13
241系统设计的从简原则13
242功能设计的适度原则13
243代码编写的“傻瓜”原则14
25设计思路和方法14
26具体的设计方法14
261系统架构的分层设计14
262模块/接口设计15
263异常捕捉设计17
27规则18
271为什么需要规则18
272规则有哪些18
273命名规则19
274代码编写规则21
275总结22
第3章客户端开发规则23
31命名规则23
32编码规范23
33异常处理规范25
第4章Flex客户端技术实现27
41模块化27
411原理27
412技术要点27
413实例1:界面切换32
42事件机制35
421事件是什么35
422事件传播路径35
423事件机制描述35
424事件流36
425技术要点39
426实例2:事件的捕捉/目标41
427实例3:事件的冒泡/目标45
428实例4:事件传播机制46
43界面切换(事件触发)48
431原理48
432实例5:利用事件进行界面
切换48
44利用事件传递数据52
45编写Flex界面组件52
451自定义界面组件的两种形式53
452技术要点:MXML形式的组件53
453技术要点:As脚本形式的组件56
454MXML组件与As组件的比较58
455实例6:MXML形式的自定义
组件58
456实例7:As脚本形式的自定义
组件62
457实例8:自定义组件的继承和功能
扩展65
46自定义数据校验组件67
461自定义数据校验类的技术要点68
462使用数据校验类的技术要点70
463同时进行多种校验的技术要点71
464实例9:自定义数据校验类73
465实例10:同时进行多个数据
校验78
47接口机制84
471接口是什么84
472接口涉及的四种对象84
473接口调用的方向85
474接口的特点85
475技术要点86
476接口的应用场合90
477实例11:调用子界面的接口
函数90
478实例12:调用主界面的接口
函数93
48数据绑定机制96
481数据绑定是什么96
482数据绑定的步骤99
483数据绑定涉及的三个概念99
484源对象个数:目标对象个数100
485数据绑定的原理100
486技术要点101
487实例13:将函数绑定到事件102
49Flex乱码105
410UTF8字符集107
411读取属性文件107
4111属性文件与Flex程序编译108
4112技术要点108
4113实例14:读取文本110
4114读取文本实例中可能遇到的
问题112
4115属性文件编辑插件114
412国际化(单界面应用)118
4121原理118
4122实现步骤118
4123实例15:实现国际化119
413swc文件组成与使用124
4131swc文件的内容及用途124
4132swc文件与swf文件的关系124
4133swc文件的组成124
4134swc文件的使用:编译进程
序中129
4135swc文件的使用:在程序外部动
态执行130
4136实例16:swc文件的组成132
4137实例17:swc文件的使用134
414RSL的组成136
415国际化(多界面应用)139
4151实例18:多界面应用141
4152swc文件的开发143
4153语言类型选择子界面的开发147
4154子界面2的开发150
4155子界面3的开发152
4156主界面的开发155
4157作业157
416取得/改变URL157
4161技术要点157
4162实例19:Flex程序与浏览器的
URL的相关操作158
417取得URL中的参数160
4171技术要点160
4172实例20:使用片段从浏览器的
URL取得参数161
第5章安装服务器165
51Web服务器/应用服务器165
52Apache Web服务器的安装166
53PHP应用服务器的安装16954AmfPHP的安装174
55MySQL的安装181
56MySQL Query Browser的安装185
57Apache OpenSSL的安装189
第6章服务器端技术实现201
61基本交互(单值交互)201
611消息通道的概念201
612技术要点203
613实例21:定义消息通道205
62复杂交互(数据结构体交互)210
621技术要点210
622实例22:传递自定义数据
结构体212
63跨域访问(crossdomainxml)216
631实例23:使用跨域策略文件218
632实例24:观察跨域策略文件225
64局部使用SSL227
641技术要点228
642实例25:局部使用SSL228
65登录验证处理234
651重要概念234
652技术要点235
653实例26:使用Session保存在线
用户236
66限制重复登录246
661设计思路246
662技术要点248
663实例27:限制重复登录249
第7章安全设计260
71安全须知260
72不安全来自哪里260
73不安全代码的示例261
731输入的不安全261
732输出的不安全264
733会话的不安全266
734文件系统操作的不安全267
735文件存放结构的不安全267
736数据传输的不安全268
737数据保存的不安全268
738服务器软件配置的不安全269
74安全原则269
75总结270
第8章服务器端开发规则271
81命名规则271
82编码规范273
83异常处理规范273
第9章综合练习——实例28274
91开发目标274
92界面效果274
93Flex模块化设计276
94PHP架构设计276
95数据库定义278
96开发计划278
97源代码279
971PHP公共函数的组成279
972aaValidatorswc的组成281
973aaLocalswc的组成283
974aa_0000的组成286
975aa_1000的组成289
976aa_2000的组成293
977aa_3000的组成315
98配置运行环境322
99功能扩展说明323