出版时间:2009-1-1 出版社:清华大学出版社 作者:杨占坡,杨铭,翁颖 页数:421
Tag标签:无
前言
1. RIA开发奇兵——Flex曾经沧海难为水,除却巫山不是云。然而,当我们已经经历了众多编程语言、开发技术的洗礼之后,仍然被Flex的风采所打动。Flex是一种结合了广阔的市场前景和充满智慧的方法学的新一代复合型软件技术。我们一行三人决定结合自己的项目经验和开发技能为各位读者献上这本《Flex 3 RIA开发详解与精深实践》。(1)升级的RIA开发路线“君子性非异也,善假于物也”。Adobe公司似乎深悟了这个道理,汲取了XML结构清晰、格式通用的特点,创造了Flex美丽的外衣——MXML;然后又通过已经拥有一定用户基础的ActionScript脚本语言作为Flex聪慧的大脑;并在运行环境上为Flex技术做了扩展和优化。因此,亦可以说Flex是一项毫无新技术的新技术。然而,正是这样一种毫无新技术的新技术借助于自己得天独厚的运行时环境Flash Player一跃成为RIA(Rich Internet Application)开发的大热门。科学技术的发展带动了信息产业的发展,软件开发逐渐从高不可测的神坛上走了下来,变得更加大众化。因此,当前的软件开发形式不得不更多地借助于现有的市场基础。Macromedia公司(已被Adobe收购)就把握住了这个关键点大做文章,于是Flex技术冲进了广大软件开发者的视线。(2)无缝结合高层软件实现企业级RIA开发提到高层软件开发,就不得不说说Java和.NET这两种占企业级开发主导地位的技术旗舰。然而这两种软件技术进行企业级开发的不足之处就是界面处理,无论从效果还是交互方面都是依赖于传统的“网页”模式,Flex技术正是在这方面弥补了它们的不足。作为一项专注于界面效果和交互的RIA技术,Flex并没有忽视企业级开发的重要性。Life Cycle组件可以使Flex技术直接与Java企业级服务进行通讯,并可以方便地通过ActionScript对象与Java对象进行映射。这也是Flex技术非常“聪明”的一个方面,如果Flex技术自己包含一个硕大的企业级开发架构的话,就会带来诸多麻烦。
内容概要
Flex是目前最为普及的一种RIA开发技术,依托于脱胎换骨的ActionScript 3.0,可以轻松实现相比传统的网络应用更加卓越的交互能力和更加绚丽的表现效果。Flex技术本身并不是凭空出现的,经过了Flash的长期预热,依托于XML、ActionScript 3.0等标准化开发语言,终成正果。 本书以实践为手段,以实用为核心,全面解析了应用Flex技术进行RIA开发的思维与过程。从实践开始、到实践结束。从最简单的Hello World演示到完整的项目全案开发,给读者全新的学习过程。 内容分为四部分:开启Flex之门、Flex开发进阶、Flex 3 Web项目全案开发、Flex 3 AIR桌面项目全案开发。涉及了Flex基础概念、组件设计开发、图表开发、企业级应用以及AIR桌面应用等方面。 本书最大的特点是使用大量小巧的示例帮助读者快速体验Flex开发流程。并在最后两大部分中结合完整的项目开发案例,给读者以积少成多、从量变到质变的软件开发学习过程之体验。 本书作者是国内第一个企业级Flex上线项目的负责人,资深软件工程师,并多年从事Flash/Flex RIA开发,具有货真价实的Flex功力。 光盘提供作者精心整理的代码、项目文件,并包含国内首次提供的Flex项目开发操作视频。 读者对象:Web开发人员、软件工程师、Flash设计师、网页设计师、软件专业相关师生等。
作者简介
杨占坡,资深软件工程师、软件架构师、北京航空航天大学软件工程硕士,精于企业级软件开发和嵌入式系统开发。对C语言、Java语言/JavaEE系统、Ruby on Rails、Flex、Ajax等领域都有深入的研究:国内第一个Flex企业级上线项目核心开发者,属于国内最早一批应用Flex进行企业级开发的软件工程师;国内第一批Ruly on Rails架构的倡导者;拥有企业级分布式架构设计的国家级发明专利。在软件设计方法、软件开发技术方面都具有深刻认识和独到见解。
书籍目录
PART 1 开启Flex之门 第1章 Flex 3程序设计基础 1.1 RIA概述 1.2 Flex简介 1.3 MXML 1.4 ActionScript 1.4.1 在MXML中使用ActionScript脚本 1.4.2 使用ActionScript类 1.5 Flex的事件机制 1.5.1 Flex事件处理 1.5.2 Flex事件监听器注册 1.6 使用Adobe Flex Builder 1.6.1 Flex Builder系统需求 1.6.2 使用Flex Builder进行开发 1.6.3 Flex Builder开发特点 1.7 在Flex中操作XML 1.7.1 XML在Flex中的应用 1.7.2 通过E4X处理XML 第2章 Flex可视化组件开发 2.1 Flex可视化组件简介 2.2 可视化组件基础 2.2.1 Flex组件体系基础 2.2.2 构建RIA—— Flex应用程序开发步骤 2.2.3 数据集成与绑定,可视化组件的数据操作 2.2.4 CSS,可视化组件的样式处理 2.2.5 容器组件,可视化组件的结合形式 2.3 IO控制组件 2.3.1 使用IO控制组件 2.3.2 Button类组件 2.3.3 Bar类组件 2.3.4 数据处理类组件 2.3.5 多媒体处理类组件 2.3.6 快捷交互类组件 2.3.7 辅助类组件 2.4 文本组件 2.4.1 文本组件的基本应用 2.4.2 Label和Text组件 2.4.3 TextInput和TextArea组件 2.4.4 RichTextEditor组件 2.5 菜单组件 2.5.1 菜单组件基础 2.5.2 处理菜单条目 2.5.3 菜单组件应用示例 2.5.4 Menu组件的使用 2.5.5 MenuBar组件的使用 2.5.6 PopUpMenuButton组件的使用 2.6 数据容器类组件 2.6.1 Flex数据容器组件与数据驱动 2.6.2 使用 List组件 2.6.3 使用HorizontalList组件 2.6.4 使用TileList组件 2.6.5 使用ComboBox组件 2.6.6 使用DataGrid组件 2.6.7 使用Tree组件 2.7 布局控制与布局组件 2.7.1 Flex布局控制 2.7.2 使用Canvas组件 2.7.3 使用Box类布局组件 2.7.4 使用DividedBox类布局组件 2.7.5 使用ControlBar组件 2.7.6 使用ApplicationControlBar组件 2.7.7 使用表单组件 2.7.8 使用网格布局组件 2.7.9 使用Panel组件 2.7.10 使用Tile组件 2.7.11 使用TitleWindow组件 2.8 导航控制组件 2.8.1 使用ViewStack组件 2.8.2 使用TabNavigator组件 2.8.3 使用Accordion组件PART 2 Flex开发进阶 第3章 Flex程序设计进阶 3.1 可视化组件行为控制 3.1.1 Flex行为控制概述 3.1.2 在MXML中使用行为控制 3.1.3 在ActionScript中使用行为控制 3.1.4 可视化组件效果控制 3.2 视图模式与视图转换 3.2.1 视图模式 3.2.2 创建和应用视图模式 3.2.3 视图模式与历史记录管理器 3.2.4 视图转换——Transitions 3.2.5 详解Transition的使用 3.2.6 效果过滤器 第4章 Flex模块化编程 4.1 Flex模块化编程概述 4.1.1 模块化软件开发 4.1.2 Flex模块架构 4.2 Flex模块的创建与使用 4.2.1 使用MXML创建模块 4.2.2 使用ActionScript创建模块 4.3 数据传输 4.3.1 应用程序与模块之间的数据传输 4.3.2 模块之间的数据传输 第5章 ActionScript 3精要 5.1 ActionScript 3概述 5.1.1 继往开来的ActionScript 5.1.2 与时俱进的ActionScript 3新特性 5.2 ActionScript 3编程基础 5.2.1 ActionScript 3编程概述 5.2.2 类与对象 5.2.3 包与命名空间 5.3 ActionScript 3的面向对象编程 5.3.1 面向对象的编程基础知识 5.3.2 继承和多态 5.3.3 访问控制与封装 5.3.4 属性的覆盖 第6章 Flex图表 6.1 Flex图表简介 6.2 Flex图表组件基础 6.2.1 Flex图表辅助类型 6.2.2 定义Flex图表数据 6.3 使用Flex图表组件 6.3.1 范围图(Area Chart) 6.3.2 线形图(Line Chart) 6.3.3 条形图(Bar Chart) 6.3.4 柱状图(Column Chart) 6.3.5 气泡图(Bubble Chart) 6.3.6 散点图(Plot Chart) 6.3.7 烛台图(Candlestick Chart) 6.3.8 HLOC图(HighLowOpenClose Chart) 6.3.9 饼图(Pie Chart) 6.3.10 使用多重数据集 6.3.11 使用多重坐标轴 6.4 Flex图表定制化 6.4.1 在图表中使用CSS样式 6.4.2 使用Filter 6.4.3 Legend组件 6.5 Flex图表事件处理 6.5.1 图表组件的事件处理 6.5.2 图表数据条目的事件处理PART 3 Flex 3 Web项目全案开发 第7章 Flex企业级开发实践—— Flex + Struts 7.1 Flex与Struts 7.1.1 Flex与Java,自然又必然 7.1.2 Struts,外表-思想-内心 7.1.3 Flex为Struts披上了绚丽的外衣 7.2 Flex与数据服务 7.2.1 LiveCycle很好很强大 7.2.2 RPC,Flex也能“分布式” 7.2.3 消息,让Flex走向“企业级” 7.2.4 数据管理服务,Flex不是花瓶! 第8章 Flex企业级开发实践—— Flex + Web Services 8.1 Web Services,分布式无国界 8.2 SOAP引擎Axis 2 8.3 Flex + Web Services,开始起航PART 4 Flex 3 AIR桌面项目全案开发 第9章 桌面上的Web开发——AIR 9.1 AIR概述 9.2 AIR程序初步体验 9.2.1 安装运行时环境 9.2.2 安装和运行Twhirl 9.2.3 获得其他AIR示例程序 9.3 开发环境的设置 9.4 AIR的安全性问题 9.4.1 安全沙箱(Sandboxes) 9.4.2 JavaScript和HTML的限制 9.4.3 引入外部资源的不安全因素 9.4.4 对于HTML的安全性约束 9.5 用Flex Builder 3构建第一个AIR应用 9.5.1 创建AIR工程 9.5.2 编写代码 9.5.3 打包应用程序 9.6 用Flex SDK构建第一个AIR应用 9.6.1 设置开发环境 9.6.2 创建应用程序的描述文件 9.6.3 编写应用程序代码 9.6.4 编译和运行应用程序 9.6.5 创建AIR应用程序安装包 9.7 创建AIR库工程 9.8 Adobe AIR的新增功能 第10章 Flex AIR开发实践 10.1 Flex AIR组件 10.1.1 文件系统管理控件 10.1.2 HTML组件 10.1.3 FlexNativeMenu控件 10.1.4 关于窗体容器(Window Containers) 10.2 操作文件系统 10.2.1 文件的基本操作 10.2.2 文件的读写操作 10.3 设置AIR应用程序的属性 10.3.1 应用程序描述文件的结构 10.3.2 应用程序描述文件中的重要属性 10.4 读取应用程序设置 10.4.1 读取应用程序的描述文件 10.4.2 获得应用程序和发布的唯一标识 10.5 AIR的本地数据库 10.5.1 关于local SQL databases 10.5.2 与数据库操作有关的类 10.5.3 创建数据库 10.5.4 管理数据库中的数据 10.5.5 处理多个数据库 10.5.6 一个简单的通讯录程序
章节摘录
插图:PART 1 开启Flex之门第1章 Flex 3程序设计基础1.1 RIA概述Internet已经是我们生活的一部分,而“看网页”可以说是网络浏览者与Internet最简单的沟通方式。打开浏览器,进入一个网站浏览,这就是浏览者们看到的最直观的Internet的外表。尽管页面上不是单一的文字,但也仅仅是“页”。然而如今这些传统的呆板的“页”已经不再能满足网络浏览者的要求了。多媒体、多元化的信息表现在一个页面上,的确很是单薄。另一方面,开发人员也一直在为过分依赖于页面刷新、请求响应等诸多传统网页开发技术固有的问题而烦恼。当然我们不能忽略B/s架构能够取代C/s长期大行其道有一个重要的因素,就是网络带宽问题。传统网页内容简单,节省网络带宽的优势是与生俱来的,而如今网络技术在不断地发展,软硬件发展又达到了一个并驾齐驱的时期,软件系统已经不需要等待硬件的发展而发展。有了强烈的需求,又有了充足的硬件基础,新技术应运而生,Rich InternetApplication(RIA)的出现给网络浏览者和开发人员都带来了全新的体验。Rich Internet.Application即是富因特网应用程序,其特点也体现在一个“富”字上,传统的HTML页面带给用户的页面元素是极其有限的,输入框、选择框、下拉框等无法替换的元素,恐怕早就对浏览者带来了审美疲劳,更何况在功能上也存在着很大不足。对比传统页面,RIA的界面是“富”的,基本上一个桌面程序能表现出来的效果,RIA都能表现。图1.1中的网站是一个名为scrapblog的博客网站,与我们常见到的博客网站不同,这个网站使用一种RIA技术构建,在页面表现力和交互性上都远远超过了常见的博客网页。如果说RIA的优势仅仅是丰富的界面表现能力的话,那么大家会认为这不过就是个C/S架构,RIA的另一大特点也正是与c/S架构最大的不同:数据上的“富”。传统的网页开发基于HTTP协议,数据的交互依赖于请求/响应机制;界面的交互则需要进行页面的跳转和刷新。RIA的处理则有很大不同,在客户端可以进行完整的数据处理,与用户的交互更加友好、更加迅速;界面交互并不依赖页面,消息通过异步请求传递,面向用户界面中的各个小模块,客户端的模块之问关系清晰,处理起来更加灵活。对于企业级应用来说,RIA技术并不需要替换掉现有的体系结构模型,如IavaEE(一以前称12EEl、.NET架构等。RIA技术通常可以和企业级应用体系结构很好地进行整合。将原有的系统构建成更易用、更直观、更迅速的“网页应用程序”。在不会影响到原有应用的前提下,RIA技术对表现层进行了大幅度的增强,进一步提升界面的友好程度,并且减少了用户与系统的远程交互频率,减少了带宽需求。RIA开发技术已经有很多种,Adobe公司的Flex发展目趋成熟,微软公司的Silver[,ight及Sun公司的IavaFX也崭露头角。Flex技术的优势得天独厚,有强大的Flash平台作后盾,SilverIAght和IavaFX在RIA的实现上则各有侧重,Silver[,ight作为一个浏览器插件支持广泛,而且对于IavaScript和微软的.NET技术无缝结合,而IavaFX体系不仅希望利用编写更容易的lavaFX Script取代lavaScript,更是提供了JavaFX Mobile,为手机及移动设备增加了应用程序支持。1.2 Flex简介Flex是一种基于标准编程模型的高效RIA开发产品集,最初由Macromedia公司在2004年发布,后被Adobe公司冠以商标。Flex最大的特点是基于全球流行的网络动画平台——Macromedia Flash。2000年以来,Flash动画愈发火爆,“闪客”们的作品为Internet增添了绚丽的色彩,而Flash的播放器Flash Player。已经成为浏览器上首选的不可或缺的插件,为了看到页面中生动的Flash动画,大部分浏览者都会安装Flash Player。通过Flex技术,开发人员可以将RIA程序编译成为Flash文件,为Flash Player所接受,也就是说,Flex技术所开发出来的程序对于大部分浏览者而言并不需要安装额外的客户端支持,这是一个得天独厚的优势。“基于标准编程模型的高效RIA开发产品集”,这是Adobe公司对Flex技术的官方定义。下面我们就来进行详细的分析。一个完整的Flex程序由MXML代码和ActionScript代码组成。MXML基于XML标准,用于配置和设计Flex程序的界面及编写表现层数据模型;ActionScript基于ECMAScript,原来用于设计Flash动画,其语法规范类似于IavaScript,,这样两种基于W3C标准的开发语言就构成了Flex程序,两种语言的关系类似于HTML和JavaScript,这样一来(尤其对于传统网页开发者来说1,Flex根本没有什么门槛。Flex 3是Flex的一个成熟版本,它的产品集包含以下几部分。……1.4 ActionScriptActoonScript是为Adobe Flash设计的面向对象的程序设计语言,在Flex开发中,ActionScript的基本作用类似于传统网页开发中的JavaScript,同时ActionScript还要负责Flex程序的逻辑控制和业务建模。ActionScript遵循欧洲计算机制造商协会(EcMA)通过的ECMAScript标准,而ECMAScript出自JavaScript派生出的标准ECMA.262,因此无论是使用语法还是技巧方面,ActionScript与JavaScript都非常相似。作为Flex技术的组成部分,ActionScript充当着更加重要的角色。如果说MXML是F1ex亮丽的外表,那么ActionScipt就赋予了Flex聪慧的灵魂。对于开发者而言,在ActionScriDt上所下的功夫要大于MXML,MXML作为界面表现层需要更多的是外观设计,而ActionScriDt则需要担当起用户交互、数据处理和业务逻辑处理的重任。不仅如此,在MXML中所使用的Panel、Label等Flex内建组件都是基于ActionScript类实现的,应用ActionScript可以继承这些内建的组件对象来创建自定义的Flex组件,使得开发的灵活性大大增加。ActionScript的应用还可以涉及到表现层数据模型以及异步远程请求及响应的事务处理。我们可以通过标签在MXML文件中插入ActionScript代码或导入ActionScript类文件。而在编译过程中,ActionScript代码和MXML代码都会被分离成ActionScript类,最终编译器连接所有的ActionScript类,编译生成SWF文件。
媒体关注与评论
Flex在当今富因特网应用中充当着旗舰级的角色,而这本书由浅入深解析了Flex技术,无论对于新手还是拥有Web开发经验的软件工程师都非常有实用价值。尤其是其中的项目实践部分,可以作为开发范本来使用。Flex开发体系是非常有特点的,这是国内我目前可以找到的唯一一本从思维上精密解析Flex RIA开发流程的资料。 ——中国数码Web研发主管 孙雷 杨占坡是我多年的朋友,对技术极具天赋和热情。他的开发经验从Web应用到IDE开发,从嵌入式系统到Web RIA应用。这本书不是通常的技术手册,而是具有货真价实的可操作性!在当前Flex已经越来越多地被国际大公司应用于大型系统中的形势下,相信占坡领衔的这本书会给真正想将Flex用于实际项目的朋友提供非常好的参考。 ——IBM(中国)资深系统架构师 张琦 杨占坡我认识的时间不长,但是印象非常深刻。他是位出色的工程师和架构师,敢于创新,敢于挑战权威,敢于打硬仗,而且每次出手都能证明自己的价值。我作为Silverlight体系的参与开发者和拥护者,与他的交流中得到了很多东西,毋庸置疑,Flex仍然是微软在RIA领域最强劲的竞争对手,我们希望对手更强大,以推动技术发展! ——微软(爱尔兰)高级软件架构师 曹刚 Flex为企业应用以及互联网多媒体应用提供一个现时最为成熟,功能齐备的解决方案,强大的数据整合能力能够高效经济地利用企业已有的业务系统,结合网络Web资源,创建出丰富多彩的各式应用。Flex技术的应用在国内正逐渐受到关注和重视,但是在目前已有的图书资料中,基本上都是在说明一些概念性内容和IDE的使用,并没有真正深入Flex核心应用,而本书具有卓尔不群的实用价值,字里行间充斥着一目了然的开发经验,相信这本书可以成为你精通Flex的踏脚石。 ——cnflex.org站长 劳伟峰
编辑推荐
《Flex 3 RIA开发详解与精深实践:企业级Web应用与AIR桌面应用》作者是国内第一个企业级Flex上线项目的负责人,资深软件工程师,并多年从事Flash/Flex RlA开发,具有货真价实的Flex功力。光盘提供作者精心整理的代码、项目文件,并包含国内首次提供的Flex项目开发操作视频。读者对象:Web开发人员、软件工程师、Flash设计师、网页设计师、软件专业相关师生等。国内首个Flex商业项目开发者的领先感悟Web项目与桌面项目之精密操作程序员的Flex精髓——您需要一定编程基础精心选择最能发挥Flex实力的项目进行剖析凌厉代码风格,绝菲一股闪客设计师的“彪悍代码”。
图书封面
图书标签Tags
无
评论、评分、阅读与下载