欢迎访问 夜阑小雨 我的学习碎片档案,这里记录了我的学习内容和工作中经验,希望给您带去帮助。

【转】忘记MXML,用CS3携Apollo起飞

HTML5 夜阑小雨 1020℃ 0评论

首先,回味一下经典的武侠小说《倚天屠龙记》中第二十四章《太极初传柔克刚》中,张三丰传授一招”太极剑”给张无忌的情景。张三丰反复暗示让张无忌忘记招数。最终,张无忌以极快的速度领悟了”太极剑”的精髓,并击败了”八臂神剑”。

其实现实之中,也有很多场合需要我们去”忘记”。最近玩AIR开发的时候,就遇到这样的情况:也许是工作和生活的疲劳,导致我两个晚上研究AIR(Apollo)的进展非常缓慢。今天终于找到自己两个最大的疏忽:没有清晰地理解到MXML是什么;没有彻底认识到”AIR”的含义。总是被MXML所束缚,导致无法使用我擅长的FlashIDE环境直接进行轻量级开局。

下面我就结合对这两点疏忽的反思,简单介绍一下利用Flex Builder3开发并发布AIR程序的原理、思路。转载请保留链接:http://as3blog.com/as3/cs3-develop-air,作者:http://www.awflasher.com/blog/

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等等这些概念有一个更加深入的理解!

先看最终效果吧:

Adobe AIR(Apollo)教程, Adobe AIR 入门

开发步骤详细截图(共18张大图):

  1. 配置Flash CS3的编译器环境,把Flex3 SDK的airglobal.swc文件,拷贝到如下位置:C:Program FilesAdobeAdobe Flash CS3enConfigurationActionScript 3.0Classesplayerglobal.swc – 这个位置依据不同的安装配置而不同。
    Adobe AIR 教程
  2. 进入FlashCS3,如同平时开发那样,开发你自己的SWF,只不过,我们可以用到AIR的API了。
    Adobe AIR(Apollo)教程, Adobe AIR 入门
    Adobe AIR(Apollo)教程, Adobe AIR 入门
  3. 编译好的swf也可以运行,不过AIR的API由于没有FlashPlayer的支持,因此调用的时候会报错:
    Adobe AIR(Apollo)教程, Adobe AIR 入门
  4. 先把编译的swf放在一边,打开FlexBuilder3,启动一个AIR项目:
    Adobe AIR(Apollo)教程, Adobe AIR 入门
  5. 按照提示,输入项目名称:
    Adobe AIR(Apollo)教程, Adobe AIR 入门
  6. 设置项目在文件系统中的目录(个人建议所有资源从外部导入这个目录,以便和项目捆绑)
    Adobe AIR(Apollo)教程, Adobe AIR 入门
  7. 设置我们的XML描述文件,由于我们这次要制作透明窗口的AIR程序,因此需要把窗口UI去掉:
    Adobe AIR(Apollo)教程, Adobe AIR 入门
  8. 在左侧的Navigator中的awflasher项目下的bin文件夹上,右键单击,选择Import:
    Adobe AIR(Apollo)教程, Adobe AIR 入门Adobe AIR(Apollo)教程, Adobe AIR 入门
  9. 从文件系统(File System)导入swf资源:
    Adobe AIR(Apollo)教程, Adobe AIR 入门
  10. 这时候,我们可以发布AIR安装包了!
    Adobe AIR(Apollo)教程, Adobe AIR 入门
  11. 发布一个air文件到文件系统:
    Adobe AIR(Apollo)教程, Adobe AIR 入门
  12. 赶紧安装看看效果吧:
    Adobe AIR(Apollo)教程, Adobe AIR 入门Adobe AIR(Apollo)教程, Adobe AIR 入门Adobe AIR(Apollo)教程, Adobe AIR 入门
  13. 在程序菜单中,找到我们刚才安装的AIR应用,运行之:
    Adobe AIR(Apollo)教程, Adobe AIR 入门

转载请注明:夜阑小雨 » 【转】忘记MXML,用CS3携Apollo起飞

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址