首先,回味一下经典的武侠小说《倚天屠龙记》中第二十四章《太极初传柔克刚》中,张三丰传授一招”太极剑”给张无忌的情景。张三丰反复暗示让张无忌忘记招数。最终,张无忌以极快的速度领悟了”太极剑”的精髓,并击败了”八臂神剑”。
其实现实之中,也有很多场合需要我们去”忘记”。最近玩AIR开发的时候,就遇到这样的情况:也许是工作和生活的疲劳,导致我两个晚上研究AIR(Apollo)的进展非常缓慢。今天终于找到自己两个最大的疏忽:没有清晰地理解到MXML是什么;没有彻底认识到”AIR”的含义。总是被MXML所束缚,导致无法使用我擅长的FlashIDE环境直接进行轻量级开局。
下面我就结合对这两点疏忽的反思,简单介绍一下利用Flex Builder3开发并发布AIR程序的原理、思路。
1、MXML(Macromedia XML?)
MXML是Macromedia在2004年三月发布的一种描述界面的标记语言,基于XML标准。与微软的WPF技术体系不同的是,MXML必须在服务器端编译为swf,然后发布到客户端。客户端,或者我们叫做”Runtime”,可以执行这些swf,展现成界面、实现各种功能。我们常见的Runtime就是常说的Flashplayer。而最近非常红火的”Apollo”更名后的”AIR”,就是一种新的”Runtime”。微软的XAML(eXtensible Application Markup Language)很像MXML,也是一种描述应用界面、交互的基于XML的标记语言,但是它实在发到客户端再解释的(目前还不确定未来的具体实现)。
我个人认为,传统的Flash设计人员对于Flex的复杂性肯定是极难接受的,即便对于传统的Flash开发人员,也很难融入到基于XML的描述中进行一些轻量级的开发。而MXML的本意,则是去吸引那些VC、Java程序员。对于他们来说,MXML开发界面还是十分方便的。
另外还有一个误区就是,MXML就是应用程序。这是绝对错误的。MXML只是一种描述,最终运行,还是需要编译好的SWF+Runtime。对于传统的Flash开发人员,可以这么理解:MXML就好比FLA,FlexBuilder就好比FlashIDE把FLA变为SWF那样把MXML变为SWF。
2、AIR(Adobe Integrated Runtime)
AIR是Apollo Intergeted Runtime。AIR程序都是跑在AIR这个Runtime之上的。这就好比SWF文件在Flashplayer中运行一样。
AIR的组成和发布非常简单:一个描述应用的XML+一个根节点资源+一个打包工具。
在我们使用Flex Builder3简历AIR项目的时候,一般都会自动产生一个MXML和个XML。用Flex编译好的SWF,作为这个AIR的默认根节点,然后可以通过Flex Builder3 发布成为air安装包。然而这并不意味着我们只能用Flex开发AIR应用!我们只要有swf,并且把这个swf描述成为AIR应用的根节点资源,就可以利用Flex Builder3的打包工具发布我们的air安装包了!
下面是我利用Flash CS3开发AIR安装包的几个步骤的截图,我狠花了一番功夫准备的,相信看了这些图片,你会对Flex、MXML、Flash CS3、AIR等等这些概念有一个更加深入的理解!
先看最终效果吧:
开发步骤详细截图(共18张大图):
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |