基本信息
- 原书名:Programming Flex 3: The Comprehensive Guide to Creating Rich Internet Applications with Adobe Flex
- 原出版社: Adobe Developer Library
内容简介
计算机书籍
作为Flex产品文档和参考手册的绝佳补充,本书是使用Adobe Flex技术创建RIA应用程序的全面指南。书中深入介绍了使用Flex 3开发RIA应用程序所需要的几乎所有的知识点,其中包括Flex Framework、MXML、ActionScript、布局管理、自定义组件、自定义应用程序皮肤、使用媒体、管理状态、使用特效和过渡、数据校验和格式化、客户端和远程数据通信、应用程序调试和构建AIR应用程序等,最终综合各个知识点实现了一个完整的使用Flickr API的图片查看应用程序,其中对构建Flex应用程序的最佳实践进行了充分的讨论。
本书不仅是富有经验的Flex开发工程师和Flash动画设计师的便捷参考指南,即使对于Flex应用开发的初学者,也是一本很好的入门指南。
如果你想尝试使用Adobe的Flex 3开发富互联网应用,那么这是一本帮助你开始行动的理想图书。本书帮助当你深刻理解Flex 3的核心概念,并帮助你判断如何、为什么,以及何时使用特定的Flex特性。大量的示例和代码展示了如何使用开放的Flex SDK构建完整的、功能丰富的Web应用,以及如何使用Adobe AIR构建桌面RIA应用。本书是Adobe Flex 3参考文档极好的伴读物。
从本书中你将学会:
Flex框架的底层实现细节
使用MXML和ActionScript编程
UI组件的架构和布局
使用媒体的最佳实践
管理应用程序和组件的状态
使用过渡和效果的技巧
调试Flex应用程序
作译者
Joey Lott是The Morphic Group(www.themorphicgroup.com)的创建合伙人,专门从事Flex应用开发。Joey还写了很多其他有关Flex和Flash技术的重量级书籍,包括O'Reilly的《ActionScript 3.0 Cookbook))。
目录
前言III
第1章 Flex简述1
1.1理解Flex应用程序技术1
1.2使用Flex元件5
1.3数据服务的使用(运行时加载数据)6
1.4Flex Web应用程序和传统Web应用程序的区别6
1.5理解Flex应用程序的工作原理7
1.6理解Flex和Flash的开发工具8
1.7Flex 3引入的新内容9
1.8小结9
第2章 使用Flex框架构建应用程序10
2.1Flex工具集的使用10
2.2创建项目11
2.3构建应用程序14
2.4部署应用程序24
2.5小结25
第3章 MXML26
3.1理解MXML的语法和结构26
3.2建立MXML交互31
译者序
自Macromedia公司提出富互联网应用(Rich Internet Application,RIA)的概念至今,RIA这个名词早已深入人心,但觊觎所带来的巨大商业利益,各大软件公司之间技术群雄角力的战斗从未停息。目前,构建有很多选择,不管是一度炙手可热的Ajax(Asynchronous and XML),锋芒未露的Sun JavaFX,还是现如今风头正劲的Microsoft Siverlight,甚至还有Google、Apple等公司积极倡导的HTML5,但不争的事实是,有着纯正血统的已经成为开发的不二选择。也理所当然成为Platform战略的中坚和轴心。
随着技术的日益升温,相关书籍的出版可谓五花八门。作为产品文档和语言参考的绝佳补充,本书是使用技术创建应用程序的全面深入指南,是两位资深开发工程师Chafic和Joey多年潜心研究和实践之成果,书中处处充满着使用开发的绝妙心得和最佳实践,不管你是资深的或开发人员,还是刚刚涉猎开发的初学者,这本书都会给你很多意想不到的惊喜,非常值得读者收藏和阅读。
本书由宋丁敏、王瑜洁、肖娜和张金勇等4人合作翻译完成,其中,宋丁敏翻译了序言、前言、第1章至第3章;王瑜洁翻译了第章至第6章;肖娜翻译了第7章至第10章、第12章、第13章以及作者介绍、封底文字、出版说明等内容;张金勇翻译了第11章、第14章至第22章,并撰写了内容简介和译者序。
感谢电子工业出版社不遗余力地引进国外优秀IT类书籍,感谢博文视点徐定翔编辑为译者翻译本书提供的大力支持。翻译本书的过程中,所有译者虽已尽最大努力确保专业术语的统一和准确,也尽了最大努力将原作者的意境用朴实的中文展现给读者。但是,囿于个人的水平,书中的问题和疏漏之处仍在所难免,敬请读者朋友给予批评指正。
张金勇 2010年月于青岛
前言
我们认为《》是学习最好的参考书之一。然而,我们相信我们能做得更好,因为有些主题我们还没来得及添加到那本书中。于是在本书《》中,我们不但更新了有关的内容,而且还加入了一些前一本书中没有的内容,以此扩大知识的覆盖面。事实证明,我们已经达到那个目标了。
本书最值得注意的内容扩充主要在第20、21、22这三章。在第章中,我们进一步细化了添加应用程序到网页过程中开发者需要知道的所有问题,我们认为这是个非常重要的主题。第章涵盖了使用创建Adobe AIR桌面应用程序的内容,第章概括了在本书中讨论的所有问题的综合。这是本书最为重要的扩充,因为它解释了如何合理运用前面章节中学过的所有知识,构建能真正用于现实世界的应用程序。
当然,我们并不只是在本书中加了几个新的章节,我们还修订和更新了其他所有章节。有些章节并不需要很大的变动,因为它们在和中的相关功能几乎没有变动。同时,部分章节却需要大量的更新和补充。如果您事先已经阅读过《》,那么在本书中您将会发现许多全新的或经过修订的内容。在涉及的范围上是巨大的,甚至远大于。它的学习曲线并不陡峭(事实上构建应用程序是很容易入门的),但却很长,原因很简单:打包在框架中的功能的数量非常多。官方的文档能很好地为开发者答疑解惑,但前提是开发者必须清楚自己要寻找的东西是什么。因此,我们写本书的目的就是为了填补这些知识上的空白,帮助您更加轻松地入门。同时,我们写本书的意图也是为了从我们自己学习Flex,以及长期利用Flash平台技术开发富互联网应用程序(Rich Internet Application, RIA)的经历中,为您提供一些实用的建议。
我们真的感觉到是一个了不起的产品,同时也是一种构建应用程序的好方法。虽然这是一本技术书,但是我们同样把我们的热情倾注到了书稿的写作当中,同时,我们非常希望在您阅读本书的过程中能够分享到我们的热情。我们觉得在开发富互联网应用程序方面,确实比其他市面上现存的任何可选方案要好得多。我们相信当阅读完本书并掌握如何使用之后,您也会同意我们的想法的。因为几乎没有跨浏览器兼容性问题,实现网络数据通信也很轻松,另外,框架也是完全基于面向对象原理和标准而构建的。总之,是一个最快捷的用于构建最酷、最炫、最稳定的应用程序的方法。
本书适用的读者
Who This Book Is For
本书专门为任何一个想获得更多有关知识的人而编写。我们确信本书的读者代表了一个具有不同背景的
IV │ Programming Flex 3 中文版
多样化人群。或许他们已是Flex 2方面的专家(虽然他们可能对3还不太熟悉),也或许他们在阅读本书之前从来都没有听说过Flex;或许他们有多年使用Flash 平台技术的经验,也或许他们在创建运行于Player上的内容方面完全是个新手;或许他们拥有计算机科学学位或者已经在软件行业打拼多年,也或许他们正在自学……我们已经尽我们所能让这本书尽量满足不同人的需要。
但是,请注意:要想充分利用本书,我们建议您最好已经完全理解了面向对象的原理,熟悉诸如运行时环境(runtime environment)、字节码(byte code)、编译器(compiler)等概念。此外,如果您已经了解像ActionScript,Java,C,C#等使用类似语法的语言,您将在本书中获益更多。虽然本书有一章涉及ActionScript(此为应用程序利用的编程语言)基础,但是我们并没有深入讨论它的核心API(Application Program Interface,应用程序编程接口)。如果您有兴趣进一步学习ActionScript 语言,那么我们建议您阅读《Essential 3.0》和《3.0Cookbook》(译者注:这两本书目前国内均有售,前者为英文原版进口,后者已出中文版)。
本书的编排
How This Book Is Organized
我们花费了大量时间组织和编排本书的内容。虽然我们没有办法让它们非常完美和合适地呈现给所有读者,但是我们尽量让书中内容的编排富有逻辑和意义:
第1章 Flex简述 什么是Flex?什么是富互联网应用程序(RIA)?本章回答了这些问题,并为本书余下的内容提供了背景和脉络。
第2章 使用Flex框架构建应用程序 本章将讨论用于构建应用程序的各种元件和步骤,包括如何使用编译器,如何创建脚本等等。
第3章 MXML MXML是用于的说明性语言。本章将介绍基础。
第4章 ActionScript 是用于的面向对象的编程语言。本章将介绍基础。
第5章 框架基础 极大地简化了构建应用程序的许多方面。虽然,开发者不必经常寻根究底地探索其底层内容,但是理解框架工作的基本原理绝对是有好处的。本章将介绍应用程序的生命周期、初始化过程(bootstrapping)等等。
第6章 管理布局 提供了许多外观布局容器,它们能让开发者简单、快捷地在应用程序中创建各种不同的布局。本章将介绍如何使用这些容器。
序言
目前,3 已经发布,它是迄今为止最完整最实用的版本。开发者能得到包括profiler分析工具、联机分析处理(On-Line Analytical Processing,OLAP)、CS3 集成(integration)、代码重构(refactoring)、框架RSL(Runtime Shared Library,运行时共享库)、深度链接(deep linking)、AjaxBridge(译注1)、服务器代码生成器、自动控制等一系列功能。另外,如果一些功能不在其中,那么你可以确信社区中的某些开发者正在着手研究,例如:框架、3D库、map、mashup(译注2)、configurator配置工具、dashboard、管程(monitor)、构件(widget)等能想得到的东西。但是,在所有这些新的功能当中,到底什么是最大的变化呢?好吧,它并不是某个新功能,或者重构的API;也不是引人注目的新包装,或者便宜的价格;甚至不是那个时髦的新版“入门体验(Getting Started Experience)”。想知道什么才是真正最大的变化吗?那么你需要站起来,走下大厅,步入盥洗室(当然出于礼貌,你要先敲门),然后照照镜子。对,没错!最大的变化就是你。通过3,你、我、任何人都可以为SDK的开源做贡献。你拥有这个权力,就好像你可以将手伸入野兽的腹中,拧捏它的脾脏,控制住它,并让一头全新的野兽重又觉醒一样。你只需要文本编辑器和互联网连接,就可以成为一个前沿技术的贡献者。
那么,我们为什么需要这本书呢?拿出现存的产品文档,2300多页的内容,将近1200个示例程序。甚至我自己也参与过其中一些内容的编写。不过,万一你发现了其中的编译错误,我是不会承认的^-^。这还不包括由数以千计的网页组成的语言参考手册(Language Reference)。之所以我们还需要一本有关的书,正是因为现存的内容还不能完全满足大家的知识需求。
译注1:Ajax Bridge即Flex Ajax Bridge,FABridge。 译注2:mashup即混搭,是一般利用开放的API接口或者RSS输出将网络上的多个源内容整合的网络现象。
中文版
当Chafic和Joey在写《Programming Flex 2》(本书的第一版)时,他们是“由外而内”地学习了如何使用。因为在那时SDK尚未开源。他们成功地理解了利用远程数据、操纵错综复杂的的布局组合,以及创建极妙的自定义组件。他们才是名副其实的能够真正解决问题和书写代码的开发者。我记得我看过那版书中讨论的许多主题,心想:真希望我也能参与编写。这些小伙子抓取了极为复杂的主题,然后将它们提炼成大家需要的信息。
而对于这个版本,和Joey“由内而外”地审视了整个产品。他们剥离了表层,看到了一副健壮的骨骼,那就是即将定义下一代网络应用程序的动态框架。倘若你正在设计一个视频播放器,书中有一章就专门讨论了这个内容;倘若你希望学到通用格式,这本书你一定要看;即使你只是想掌握应用程序的生命周期,这本书同样值得一读。
因此,这本书将会告诉你什么是3 。而且在阅读完之后,你或许还能琢磨出一些没有的东西。但是现在你需要做一些关于它的事情。比如,在几个小时以后,当大家都入睡时,你突然有了灵感,于是鼓足勇气,振作精神,加入了在http://opensource.adobe.com/flex上的团队,并将你的足迹留在的世界。其实,这本书仅仅只是一个起点。
—Matt HornAdobe
媒体评论
——Matt Chotin,Adobe公司Flex高级产品经理