[Flex]Flex SDK 4(Gumbo)命名空间(NameSpace)概述

本篇文章是《Flash Builder 4 beta (Gumbo) UI、功能的新体验》第三篇文章,着重介绍的Flex SDK 4(Gumbo)新增加的命名空间(NameSpace)。
众所周知,Flex SDK 4(Gumbo)增加了一些命名空间,请看如下:

xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/halo"
xmlns:s="library://ns.adobe.com/flex/spark"

1、xmlns:fx="http://ns.adobe.com/mxml/2009"
定义了顶级的ActionScript 3.0一些顶级的方法、全局函数和全局常量等内容。
例如我们常用的一些数据类型:Number、int、Boolean、Array、String等。
在《Adobe Flex 4 Beta Language Reference》里面的这个链接中会有详细描述。
关于这个命名空间的内容,全部定义在Flash Builder安装目录下面的sdks\4.0.0\frameworks\mxml-2009-manifest.xml里面。

2、xmlns:mx="library://ns.adobe.com/flex/halo"
使用过Flex SDK 2 和 Flex SDK 3的朋友就不会陌生了,这个命名空间(NameSpace)里面的内容是mx.*下面的全部内容,请注意一下,其中halo的名字就是Flex SDK 2 和 Flex SDK 3里面默认的CSS样式。
关于这个命名空间的内容,全部定义在Flash Builder安装目录下面的sdks\4.0.0\frameworks\halo-manifest.xml里面。

3、xmlns:s="library://ns.adobe.com/flex/spark"
这是Flex SDK 4(Gumbo)里面新增加的组件库。包含了Flex SDK 4(Gumbo)里面全部的spark.* 和 flashx.* packages里面的部分内容(text framework class)
关于这个命名空间的内容,全部定义在Flash Builder安装目录下面的sdks\4.0.0\frameworks\spark-manifest.xml里面。

其中的一些我认为必要了解的内容:
1、xmlns:mx="library://ns.adobe.com/flex/halo" 和 xmlns:s="library://ns.adobe.com/flex/spark"是平级的,而xmlns:fx="http://ns.adobe.com/mxml/2009"ActionScript 3.0顶级的内容。也就是说,如果在某一个Project里面只使用halo的话,则可以在Application里面去掉spark的定义。(反之亦然)

2、xmlns:mx="library://ns.adobe.com/flex/halo" 和 xmlns:s="library://ns.adobe.com/flex/spark"其中有一部分是公用的,这点请大家注意一下(关于为什么是公用的,我猜测是为了让Flex SDK 2 和 Flex SDK 3迁移到Flex SDK 4(Gumbo)的过程更方便一些造成的。)

3、xmlns:fx="http://ns.adobe.com/mxml/2009"保留Flex SDK 2 和 Flex SDK 3时代的一些顶级包以外,还新增加了一些标签,如:<Declarations>、<DesignLayer><Library><Private><Reparent>

4、当需要定义一个在xmlns:mx="library://ns.adobe.com/flex/halo" 和 xmlns:s="library://ns.adobe.com/flex/spark"都存在的组件或者意义相同的组件,Adobe建议使用spark,而不是原来的halo

PS:本篇文章部分内容来自Using ADOBE® FLEX® 4 和 ADOBE FLEX  Gumbo Preview Release Features and Migration Guide 这两篇Adobe的文档。

附录:
《Using ADOBE® FLEX® 4》下载地址:http://bit.ly/9u5D5
《ADOBE FLEX  Gumbo Preview Release Features and Migration Guide》下载地址:http://bit.ly/180oH9