Flex 4实战

 Flex 4实战

编辑推荐

  《Flex 4实战》由Flex业界的几位重量级人物(Tariq Ahmed、Dan Orlando、John C. Bland II和Joel Hooks)编写而成,具有很高的质量。
  《Flex 4实战》是亚马孙畅销书《Flex 3实战》的又一升级版,它对上一版做了全面更新,可以帮助读者深入理解Flex 4。

 

基本信息

点击打开链接

 

内容简介

  flex已经从原来构建flash应用程序的一种方式发展成为一个丰富的体系。flex 4中引入了新的ui组件,提供了更好的性能监控,并且大大提高了编译速度。
  《flex 4实战》是一本全面的指南,为web设计人员和开发人员提供了flex的详细介绍。《flex 4实战》从基础讲起,介绍了有关表单和数据的知识,然后逐渐过渡到核心概念,如导航、拖放和事件。即使读者刚刚接触flex,在阅读本书之后也可以使用新增的spark组件、数据服务、图表设计、特殊效果等,使自己的应用程序广受欢迎。本书的读者需要具备基本的开发技能,但是不要求以前使用过flex。
  主要内容
   ◆如何设计并制作应用程序
   ◆使用图表构建交互式仪表板
   ◆使用网络监控和单元测试提高工作效率
   ◆使用主题和皮肤使应用程序具有独特的外观

 

 

 

目录

《flex 4实战》
 
第ⅰ部分 应用程序基础知识
第1章 认识flex 3
1.1 web应用程序为何大行其道 3
1.2 ria解决方案 5
1.2.1 他们什么都想要 5
1.2.2 ria的解决之道 6
1.2.3 ria的工作原理 6
1.3 ria的竞争技术 6
1.3.1 adobe公司的flex 7
1.3.2 microsoft公司的silverlight 7
1.3.3 sun公司的javafx 8
1.3.4 ajax——终点站 8
1.4 熟悉flex 10
1.4.1 利用adobe flash的优势 11
1.4.2 flex与javascript可以一起使用 11
1.4.3 flex技术体系 12
1.5 flex的工作原理 14
1.5.1 flex语言 14
1.5.2 事件驱动的环境 16
.1.5.3 flex的局限 17 1.6 flex 4的新功能 18 1.7 小结 19 第2章 从零开始 21 2.1 经济的flex开发方式 21 2.1.1 建立编译环境 22 2.1.2 建立编辑环境 23 2.1.3 第三步(但愿读者还感兴趣) 24 2.2 使用flash builder做真正的 开发 24 2.2.1 产品和价格表 25 2.2.2 获得flash builder 26 2.3 探索flash builder 26 2.4 视图与视角 28 2.4.1 预定义的视角 28 2.4.2 切换视角 28 2.4.3 自定义视角 29 2.5 第一个项目——helloworld 30 2.5.1 创建项目 30 2.5.2 输入代码 32 2.5.3 编译和运行 32 2.5.4 查看实际效果 33 2.6 使用设计模式 33 2.7 内置的参考和api文档 34 2.7.1 面向对象语言及其api 35 2.7.2 访问api参考 35 2.7.3 研读api参考 36 2.8 mxml与actionscript速写 37 2.8.1 mxml的结构 37 2.8.2 mxml与actionscript的关系 38 2.8.3 事件由actionscript处理 39 2.9 小结 41 第3章 使用actionscript 43 3.1 注释 43 3.1.1 行内注释 44 3.1.2 多行注释 44 3.2 变量 44 3.2.1 变量名 44 3.2.2 严格数据类型 44 3.2.3 静态类型检查与动态类型检查 45 3.2.4 顶级类 45 3.2.5 特殊数据类型 46 3.3 循环 46 3.3.1 for(初始值;条件;递增) 47 3.3.2 for(属性名in数组/对象) 47 3.3.3 for each(项in数组/对象) 48 3.3.4 while(条件) 48 3.3.5 do while(条件) 49 3.4 条件语句(if和switch) 49 3.4.1 if…else 49 3.4.2 switch语句 51 3.5 数组 52 3.5.1 索引数组 53 3.5.2 关联数组 55 3.6 actionscript特色语法 56 3.6.1 花括号 57 3.6.2 逻辑操作符及快捷方式 57 3.7 函数、类和包简介 59 3.7.1 创建函数 59 3.7.2 将actionscript代码保存在单独的文件中 63 3.8 简单的数据绑定 64 3.8.1 不使用绑定 64 3.8.2 添加绑定 64 3.8.3 绑定标签 65 3.8.4 使actionscript变量可被绑定 66 3.9 小结 67 第4章 布局和容器 69 4.1 spark与halo(mx) 69 4.2 绝对布局 70 4.3 基于约束的布局 72 4.3.1 基本约束 73 4.3.2 增强的约束 74 4.4 自动布局 79 4.4.1 使用布局类 79 4.4.2 需要空间 81 4.5 可变大小和固定大小 82 4.5.1 可变大小 82 4.5.2 固定大小 82 4.6 容器 82 4.6.1 application容器 83 4.6.2 canvas容器 84 4.6.3 基于group的容器和skinnablecontainer 84 4.6.4 panel容器 87 4.6.5 applicationcontrolbar容器 87 4.6.6 datagroup和skinnabledatacontainer 88 4.6.7 dividedbox、hdividedbox和vdividedbox容器 91 4.6.8 form容器 92 4.6.9 grid容器 93 4.7 小结 94 第5章 显示表单与捕获用户输入 95 5.1 id特性 96 5.2 flex控件分类 97 5.2.1 text控件 97 5.2.2 date控件 99 5.2.3 numeric控件 101 5.2.4 flex的按钮组件 103 5.2.5 选单控件 108 5.3 访问控件的值 110 5.3.1 向函数传递值 111 5.3.2 向函数传递事件 111 5.3.3 直接访问属性 112 5.3.4 应该选择哪种方式 114 5.4 小结 114 第6章 验证用户输入 115 6.1 验证简介 115 6.2 内置验证器 116 6.2.1 validator 117 6.2.2 stringvalidator 118 6.2.3 numbervalidator 119 6.2.4 datevalidator 120 6.2.5 emailvalidator 122 6.2.6 creditcardvalidator 123 6.2.7 currencyvalidator 124 6.2.8 phonenumbervalidator 125 6.2.9 regexpvalidator 125 6.2.10 socialsecurityvalidator 127 6.2.11 zipcodevalidator 128 6.3 实时验证 129 6.4 提交值验证 130 6.5 通过性验证 130 6.6 脚本式验证 131 6.7 验证技巧 132 6.7.1 验证器是否总是检查所有条件 132 6.7.2 控制由什么来触发验证操作 133 6.8 小结 133 第7章 格式化数据 135 7.1 内置格式化程序 136 7.1.1 formatter 136 7.1.2 numberformatter 136 7.1.3 currencyformatter 138 7.1.4 dateformatter 139 7.1.5 phoneformatter 142 7.1.6 zipcodeformatter 144 7.1.7 switchsymbolformatter 145 7.2 实时格式化 146 7.3 脚本式格式化 147 7.3.1 结合使用函数与格式化程序组件 147 7.3.2 结合使用函数与格式化程序类 148 7.4 处理格式化错误 149 7.5 小结 150 第8章 mx datagrid、列表和树 151 8.1 基于列表的一系列mx组件 151 8.1.1 listbase和advancedlistbase的属性 152 8.1.2 mx listbase事件 153 8.2 集合与dataprovider 153 8.2.1 填充dataprovider 154 8.2.2 集合的类型 154 8.2.3 集合的使用者 154 8.3 集合的初始化 155 8.4 集合的填充 156 8.4.1 list组件 156 8.4.2 horizontallist组件 159 8.4.3 tilelist组件 160 8.4.4 datagrid组件 162 8.4.5 tree组件 166 8.5 与基于list的mx组件交互 168 8.5.1 列表事件 168 8.5.2 向函数传递事件 168 8.5.3 向函数中传递数据 170 8.5.4 直接访问被选定的行 171 8.5.5 绑定到被选定的行 171 8.6 小结 172 第9章 使用spark列表控件 173 9.1 基于sparklist的一系列 组件 173 9.1.1 使用名称空间标识合适的组件 173 9.1.2 使用基于list的spark控件的项渲染器 174 9.2 基于list的spark控件 174 9.2.1 buttonbar控件 175 9.2.2 sparklist控件 176 9.2.3 dropdownlist控件 177 9.3 与基于list的spark组件的 交互 179 9.3.1 选择项目时默认分发事件 179 9.3.2 indexchangedevent对象 179 9.4 理解flex 4基于list的组件 架构 180 9.4.1 类层次结构 180 9.4.2 新的基于list的spark组件类 181 9.5 在spark架构中构建基于 list的自定义组件 181 9.5.1 理解group和skinnablecontainer类 182 9.5.2 构建自定义sparklist组件 182 9.6 小结 186 第10章 自定义列表 187 10.1 自定义数据显示 187 10.1.1 labelfield属性 187 10.1.2 标签函数 188 10.1.3 标签函数的类型 189 10.1.4 使用多列标签函数 190 10.1.5 标签函数的用途 192 10.1.6 从全局考虑 192 10.2 项渲染器 192 10.2.1 spark mxml项 渲染器 193 10.2.2 在spark中对mx组件 使用mxml项渲染器 194 10.2.3 创建行内项渲染器 198 10.2.4 使用混入项渲染器 198 10.3 项编辑器 200 10.3.1 启用项编辑功能 200 10.3.2 创建项编辑器 202 10.3.3 项编辑事件 204 10.3.4 合二为一:rendereriseditor 205 10.4 高级项渲染器 205 10.4.1 advanceddatagridrenderer provider 206 10.4.2 引用列 207 10.4.3 跨列使用 208 10.4.4 实现通行显示 208 10.5 滤镜函数 210 10.6 小结 211 第ⅱ部分 应用程序流与结构 第11章 事件 215 11.1 事件系统 215 11.1.1 事件系统——好莱坞 原则 217 11.1.2 事件发送系统 217 11.2 发送和接收事件 218 11.2.1 使用actionscript添加 事件监听器 220 11.2.2 绑定事件 222 11.2.3 移除事件监听器 225 11.3 自定义事件 227 11.3.1 分派自定义事件类型 227 11.3.2 创建自定义事件 228 11.3.3 向自定义分派器中添加 事件元数据 232 11.3.4 停止事件传播 234 11.4 小结 236 第12章 应用程序导航 237 12.1 准备菜单数据 237 12.1.1 嵌套的数组 238 12.1.2 嵌套的数组集合 238 12.1.3 模型 240 12.1.4 xml组件和类 241 12.1.5 xmllist组件 242 12.1.6 xmllistcollection 组件及类 242 12.2 使用菜单 244 12.2.1 创建菜单 245 12.2.2 定位菜单 246 12.2.3 自定义菜单项 246 12.2.4 与菜单交互 248 12.3 使用菜单栏 250 12.3.1 创建菜单栏 250 12.3.2 定位菜单栏 251 12.3.3 自定义菜单栏中的项 251 12.3.4 处理用户与菜单栏的 交互 252 12.4 使用viewstack 254 12.4.1 创建viewstack 255 12.4.2 为viewstack添加导航 功能 257 12.4.3 处理用户与viewstack的 交互 260 12.5 tabnavigator 261 12.5.1 创建tabnavigator 261 12.5.2 处理用户与tabnavigator的交互 262 12.6 accordion 263 12.6.1 创建accordion 263 12.6.2 填充accordion 264 12.6.3 处理用户与accordion的交互 265 12.7 小结 265 第13章 弹出式窗口简介 267 13.1 创建首个弹出式窗口 267 13.1.1 首先创建标题窗口 267 13.1.2 使用popupmanager打开窗口 268 13.1.3 关闭弹出式窗口 270 13.2 控制窗口位置 270 13.2.1 使用centerpopup()方法 271 13.2.2 计算窗口的位置 271 13.3 弹出式窗口与数据的结合 274 13.3.1 从弹出式窗口中取得数据 277 13.3.2 发送包含数据的自定义事件 277 13.3.3 取出数据 278 13.3.4 向窗口中发送数据 279 13.4 使用警告窗口 282 13.4.1 创建简单的警告窗口 282 13.4.2 挖掘警告窗口的潜力 282 13.4.3 高级警告窗口 283 13.4.4 修饰警告窗口 284 13.5 小结 286 第14章 实现视图状态 287 14.1 理解视图状态 287 14.2 flex中的视图状态 288 14.2.1 使用属性 290 14.2.2 使用事件处理程序 293 14.2.3 使用状态组 295 14.2.4 添加和移除组件 297 14.2.5 更改组件的父组件 302 14.2.6 状态事件 304 14.3 综合运用 306 14.4 小结 307 第15章 使用数据服务 309 15.1 访问服务器端数据 309 15.1.1 使用httpservice对象 310 15.1.2 通过webservice组件使用web服务 312 15.2 活动消息格式 313 15.2.1 开源amf 314 15.2.2 amf与php 314 15.2.3 amf和coldfusion 314 15.2.4 blazeds 314 15.2.5 livecycle data service 315 15.2.6 其他技术 315 15.3 使用flash builder构建以数据为中心的应用程序 315 15.3.1 建立正确的环境 315 15.3.2 与服务器建立连接 316 15.4 使用coldfusion进行以数据为中心的flex 322 15.5 使用java ee和blazeds进行以数据为中心的flex开发 324 15.6 把模型绑定到视图上 325 15.6.1 拖放式数据绑定 325 15.6.2 生成一个大纲-细节表单 326 15.6.3 检查flash builder代码 327 15.7 小结 329 第16章 对象和类 331 16.1 用5分钟的时间理解oo理论 331 16.1.1 对象和类的关系 331 16.1.2 对象拥有属性和方法 332 16.1.3 继承 333 16.1.4 封装和耦合 334 16.2 操作对象 335 16.2.1 进一步了解对象 335 16.2.2 对象的方法 336 16.2.3 方法的参数 337 16.2.4 方法返回信息 337 16.3 创建类 338 16.3.1 创建类文件 338 16.3.2 指定包 339 16.3.3 类修饰符 339 16.3.4 超类:扩展类 339 16.3.5 接口 340 16.3.6 分析类 340 16.4 操作属性 341 16.4.1 添加属性 341 16.4.2 添加getter/setter方法 342 16.5 创建类的方法 343 16.6 小结 346 第17章 自定义组件 347 17.1 理解flex 4组件 347 17.1.1 spark组件架构 348 17.1.2 自定义组件的种类 349 17.2 创建简单的自定义组件 352 17.2.1 构建简单的combobox 352 17.2.2 简单的spark组件 354 17.3 使用spark skin对象进行换肤 355 17.3.1 使用元数据绑定组件皮肤 356 17.3.2 自定义组件视图状态 356 17.3.3 定义皮肤部件 357 17.3.4 声明host 358 17.4 复合组件 358 17.4.1 比较halo与spark 359 17.4.2 spark布局类 360 17.4.3 创建mxml复合组件 361 17.5 创建高级flex 4组件 363 17.5.1 使用actionscript构建州选择器 363 17.5.2 确定何时重写 364 17.6 组件的通信 368 17.6.1 使用getter和setter作为属性代理 369 17.6.2 将变量绑定到组件属性 370 17.6.3 使用事件传递数据 371 17.7 小结 373 第18章 创建可重用组件 375 18.1 利用可重用性 375 18.1.1 reveal组件的背景 376 18.1.2 spark可重用性的理论和概念 376 18.1.3 创建reveal组件 378 18.1.4 为第一个reveal实现添加皮肤 380 18.2 reveal的新外观 383 18.3 运行时共享库 387 18.3.1 理解swc文件 387 18.3.2 rsl的类型 387 18.3.3 在flex应用程序中使用rsl 388 18.4 小结 390 第19章 架构设计模式 391 19.1 flex驱动的设计模式 392 19.1.1 模型-视图-控制器模式 392 19.1.2 开发自己的架构 393 19.2 微架构简介 398 19.2.1 微架构的简单定义 398 19.2.2 使用微架构的原因 399 19.2.3 第一代微架构 399 19.2.4 第二代微架构 400 19.2.5 控制反转和依赖注入 401 19.3 使用robotlegs框架 402 19.3.1 使用robotlegs注入依赖 402 19.3.2 使用robotlegs映射实用工具来配置依赖注入 403 19.4 使用robotlegs mvcs创建应用程序 408 19.4.1 设置robotlegs项目 409 19.4.2 使用context类引导应用程序 409 19.4.3 对视图使用中介 411 19.4.4 使用robotlegs命令进行控制 416 19.4.5 服务是通往外界的大门 417 19.4.6 使用模型来管理数据和状态 420 19.5 小结 422 第ⅲ部分 高级应用 第20章 自定义体验 425 20.1 用户体验设计的原则 425 20.1.1 围绕用户故事进行构建 425 20.1.2 考虑上下文 427 20.1.3 vibe模型 429 20.2 视觉吸引力 429 20.2.1 创建并使用主题 430 20.2.2 使用css设置flex 4应用程序的样式 433 20.3 交互式体验 437 20.3.1 使用fxg和flash catalyst cs5进行声明性设计 437 20.3.2 使用效果增强用户体验 439 20.4 业务优化 441 20.4.1 使用最佳实践改进体验 441 20.4.2 通过单元测试改进用户体验 442 20.4.3 概要分析flex 4中的应用程序 443 20.5 可扩展性 444 20.5.1 可扩展性与用户体验的间接关系 444 20.5.2 可扩展性与用户体验的直接关系 445 20.5.3 编写干净的代码以实现易用性 445 20.6 小结 447 第21章 使用效果 449 21.1 效果的含义 449 21.1.1 可用的效果 449 21.1.2 合成效果 451 21.2 使用效果 451 21.2.1 创建效果的方式 451 21.2.2 由事件触发的效果 451 21.2.3 以编程方式应用效果 453 21.2.4 使用状态过渡来触发效果 457 21.3 创建合成效果 458 21.3.1 串行效果 458 21.3.2 并行效果 459 21.3.3 组合合成效果 460 21.4 探索效果 461 21.4.1 animate效果 462 21.4.2 使用animatefilter设置滤镜的动画 469 21.4.3 使用animatetransition shader设置像素着色器动画 472 21.4.4 自定义效果缓动 476 21.4.5 在播放动画时显示文本 478 21.4.6 创建声音效果 480 21.5 小结 481 第22章 拖放 483 22.1 拖放过程 483 22.2 在flex组件中实现拖放 486 22.2.1 内置支持拖放的组件 486 22.2.2 在列表中启用拖放 486 22.2.3 移动与复制 488 22.2.4 使用拖放实现用户控制的排序 489 22.2.5 多项拖放 490 22.2.6 双向拖放 491 22.3 使用dragmanager 493 22.3.1 dragmanager的属性和方法 493 22.3.2 接受或拒绝放置 494 22.3.3 应用自定义放置方式 496 22.4 为非列表组件添加拖放行为 499 22.4.1 设置示例 499 22.4.2 启动拖动 500 22.4.3 使用自定义的拖动代理 502 22.4.4 处理放置 504 22.5 自定义拖放体验 508 22.5.1 修改拖动代理图标 508 22.5.2 用于拖放的list组件换肤 509 22.5.3 在spark和halo之间混合拖放 510 22.6 小结 511 第23章 探索flex图表 513 23.1 图表简介 513 23.1.1 图表的构成 514 23.1.2 图表类型简介 514 23.2 准备系列和数据 515 23.3 创建图表 516 23.3.1 调用图表 516 23.3.2 添加图例 517 23.3.3 改变图表类型 518 23.3.4 过滤图表数据 520 23.4 堆叠图表 521 23.5 探索图表类型 522 23.5.1 面积图 522 23.5.2 条形图和柱状图 523 23.5.3 折线图 525 23.5.4 气泡图 526 23.5.5 烛台图和hloc图 528 23.5.6 饼图 530 23.5.7 散点图 533 23.6 自定义图表 535 23.6.1 系列笔触 535 23.6.2 系列填充 536 23.7 小结 538 第24章 调试与测试 539 24.1 调试 539 24.1.1 安装flash debug player 540 24.1.2 使用trace()函数 540 24.1.3 使用flash builder调试器 542 24.1.4 监视网络活动 546 24.2 flex概要分析器 547 24.3 使用自动化工具测试应用程序 549 24.3.1 单元测试 550 24.3.2 功能测试 555 24.4 小结 557 第25章 项目收尾 559 25.1 自定义html包装器 559 25.1.1 包装器文件 560 25.1.2 html模板 560 25.1.3 swfobject 2 561 25.2 部署 563 25.2.1 创建生产版本 564 25.2.2 放置客户端文件 565 25.2.3 放置服务器端文件 565 25.2.4 测试应用程序 565 25.3 小结 566

相关文章

一:display:flex布局display:flex是一种布局方式。它即可以...
1. flex设置元素垂直居中对齐在之前的一篇文章中记载过如何...
移动端开发知识点pc端软件和移动端apppc端软件是什么,有哪些...
最近挺忙的,准备考试,还有其他的事,没时间研究东西,快周...
display:flex;把容器设置为弹性盒模型(设置为弹性盒模型之后...
我在网页上运行了一个Flex应用程序,我想使用Command←组合键...