欢迎来到未来!.
我可不是在故弄玄虚。本书将讲述的是我们在未来将如何构建网站。毫无疑问,Flash在网页设计中扮演着日益重要的角色,而Flex则是Flash发展的下一步。
我在本书的内容方面做了很多斟酌。它是一本有关富因特网网站的书吗?它是一本有关Flex使用的MXML语言的书吗?它是一本关于下一代ActionScript,即关于ActionScript 3.0的书吗?都不是,我力图从更宽的视野来介绍这3个方面的知识以及它们之间的密切联系。
首先要说的是,书中的很多讲解方式是我所特有的。做过几年技术培训工作之后(期间只有几天涉及大型的主题),我学会了用简短的概念解释来代替比较宽泛的技术化的(且常常是不易理解的)讲解方式。换句话说,我常常喜欢不兜圈子地直指要点。
在阅读本书的时候,请记住几件事情。首先,大家会发现我所展示的技术体现了我的编程和设计风格。当然,到达同一个地点有很多条可选路线。但任何一本书都不可能涵盖全部的变通路线,尤其是在讲解这种大型主题的时候。如果大家找到做某些事情的不同方法,只要管用,就尽可使用。
第二,为了阐明要点,我特意保持了示例的简单性。我不希望读者仅仅囿于那些食谱式的操作说明,它们所起的作用不过是测试一下大家跟着指令进行操作的能力。虽然本书中有一个案例研究,但它远远不是学习的终点。我在本书的末尾提供了一个网站的详细信息,我将邀请大家到该网站提交各种不同的解决方案,并加入各式各样的讨论。希望大家好好利用这个平台。
第三,我会假定大家对面向对象编程的概念至少已经有了粗略的了解。虽然我会在前面的章节中温习这些概念,但那只是非常基础的简介性文字。OOP是一个非常大的主题,相关论著已经汗牛充栋。
好,有这些提示和声明就足够了。
我希望本书起到的作用是:让大家对Flex和ActionScript 3.0环境有足够的体验,以便日后有能力解决自己所遇到的独特问题。例如,我花了大量时间来讨论如何通过使用ActionScript 3.0 Language Reference寻求帮助。
如果使用过ColdFusion,大概就知道它会使用简单的语言(CFML)在后台编写更加复杂的语言(Java)。实质上,Flex做的是相同的事情:它会使用MXML(Flex中的CFML对等物)在后台编写比较复杂的ActionScript 3.0。在本书中,我会设法向大家展示如何利用MXML和ActionScript 3.0完成相同的任务。
希望大家阅读本书的时候带有兴奋的感觉,就像我面对Flex 2的时候那样。真心鼓励大家多做尝试,进一步学习。把本书看成是开始,而不是结束。
在通往未来的道路上前进吧!
版式约定
为了让本书尽可能地清晰易读,书中使用了下列版式:
重要的词语或概念通常会在首次出现的时候用黑体突出显示。
代码用等宽字体显示。
新添代码或更改之后的代码通常用加粗的等宽字体显示。..
菜单命令以“菜单→子菜单→子菜单”的形式写出。
在想要引起大家注意的地方,会采用如下样式突出显示:
嘿,别说我没警告过你。
.有时候,代码无法排在书中的单独一行里。这时,我会使用箭头记号:。
致谢
这是一个漫长的旅程。
我第一次听说Flex 2是在2005年初。由于ActionScript 2.0的局限性和奇特性,我从没觉得Flex 1是一款非常好用的产品。根据其销量来看,很多人的感觉和我一样。
对于Flex 2彻底重构了ActionScript,我并未感到惊奇。Adobe和Macromedia公司肯定会合并的原因,在我看来也是显而易见的。
2005年秋天,Flex 2的完整beta版在加利福尼亚州阿纳海姆的MAX大会上揭幕。这也标志着Adobe公司的public beta策略的开始。
大概就是在那一次,friends of ED出版社的编辑Chris Mills向我提出了就该主题写一本书的建议。我本以为这会是世界上最容易的一项任务,结果却发现它是我碰到过的最难的工作。从首次发布beta版到2006年夏发布最终产品期间,Flex有过好几次大的革新。这就要求我们必须抛开写好的大量章节,从头开始。老实说,我写了3遍才完成大家现在手上所拿到的这本书。
这也意味着我几乎要用到我所知道的关于ActionScript的一切,然后又将它扔掉。换句话说,我必须重新学习这些知识。
写作过程中,我希望本书能够适应必将发生的那些变化。其结果就是网站www.charlese- brown.net的诞生,它能够在本书出版之后的长时间里将书中的内容延续下去。
单枪匹马是不可能完成工作的,我要依次感谢一些人。
首先,要感谢我的编辑Chris Mills,多亏了他的学识与指导,感谢他在很多个早晨听我在Messenger上抱怨本书是多么难写。
每当我自以为写成了完美的章节时,我的技术编辑Sas Jacobs都会把我带回到现实。没有她的指点,本书不可能完成。
感谢我的项目管理人Beth Christmas,原因有二:首先要感谢她在我每次松懈的时候持之以恒地提醒我跟上进度;其次,要感谢她请我(和一些朋友)在费城吃了一顿丰盛的晚餐,那本来是个孤独的夜晚,当时我正在那里指导一个培训班。我还欠她一顿City Tavern 的晚餐。
最后,要感谢我的所有朋友和这个项目的所有支持者(包括我培训班上的一些学生),他们为本书提供了宝贵的建议和看法。
希望本书中介绍的知识可以帮助读者成为成功的Flex程序员。...