瞭解一下Flex4裡的fx、mx以及s名稱空間

傑克.陳發表於2009-10-11

Flex 4帶給我們的,是全新的名稱空間。瞭解這些名稱空間必定是一件好事情。Flex 4有三個非常重要的名稱空間,分別是:

  • 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″

        fx名稱空間下包含ActionScript頂級元素內建到MXML編譯器裡的標籤

        前者ActionScript頂級元素就是指 Object、Number、Boolean以及Array物件等等,在《Adobe Flex 4 Beta Language Reference》的頂級包(Top Level)裡可以檢視完整的頂級元素。後者內建到MXML編譯器裡的標籤包 括<fx:Script>、<fx:Declarations>和<fx:Style>等等,在《Adobe Flex 4 Beta Language Reference》附錄(Appendixes)裡的“MXML Only Tags”可以檢視完整的編譯器元素。值得注意的是, 這個名稱空間並不包含 Halo 和 Spark 元件(Halo是以前版本的元件庫,而Spark是Flex 4新出的元件庫)。在Flash Builder安裝目錄下可以找到“mxml-2009-manifest.xml”檔案(例如我的電腦是C:Program FilesAdobeFlash Builder Betasdks4.0.0frameworksmxml-2009-manifest.xml),這個xml檔案描述了完整的 ActionScript頂級類。不過你可以注意到,它並沒有包含MXML編譯器標籤,那是因為這些標籤是內建到MXML編譯器。

2、xmlns:mx=”library://ns.adobe.com/flex/halo”

        mx名稱空間包含著放在 mx.* 包裡那些元件,Flex圖表、Flex資料視覺化元件等等。對Flex 3很熟悉的話,mx包裡的元件你也不陌生了。在Flex 4 SDK的安裝目錄下可以找到“halo-manifest.xml”檔案(例如我的電腦是C:Program FilesAdobeFlash Builder Betasdks4.0.0frameworkshalo-manifest.xml),這個XML檔案列出了所有元件了。

3、xmlns:s=”library://ns.adobe.com/flex/spark”

        s名稱空間可真是新鮮事了,spark.* 包裡的元件都在這個名稱空間裡,不只spark包,flashx.*包的text framework類也在這個名稱空間裡。這個名稱空間包含不少RPC類,例如 WebService、HTTPService和RemoteObject元件,這些元件同時也在mx名稱空間下,也就是說,建立這些元件時,你不但可以 使用“S:”字首,也可以使用“mx:”字首。其實不只這些RPC元件共用兩個名稱空間,像graphics、effect和state類也是共用 s 和 mx 名稱空間的。在Flex 4 SDK安裝目錄下開啟spark-manifest.xml檔案來看看完整的spark元件吧。

以下列出共用 s 和 mx 名稱空間的類

Category Class
RPC classes
  • mx.messaging.channels.AMFChannel
  • mx.rpc.CallResponder
  • mx.messaging.ChannelSet
  • mx.messaging.Consumer
  • mx.messaging.channels.HTTPChannel
  • mx.rpc.http.mxml.HTTPService
  • mx.messaging.Producer
  • mx.rpc.remoting.mxml.RemoteObject
  • mx.rpc.remoting.mxml.Operation
  • mx.messaging.channels.RTMPChannel
  • mx.messaging.channels.SecureAMFChannel
  • mx.messaging.channels.SecureStreamingAMFChannel
  • mx.messaging.channels.SecureHTTPChannel
  • mx.messaging.channels.SecureStreamingHTTPChannel
  • mx.messaging.channels.SecureRTMPChannel
  • mx.messaging.channels.StreamingAMFChannel
  • mx.messaging.channels.StreamingHTTPChannel
  • mx.rpc.soap.mxml.WebService
  • mx.rpc.soap.mxml.Operation
  • mx.data.mxml.DataService
Graphics classes
  • mx.graphics.BitmapFill
  • mx.geom.CompoundTransform
  • mx.graphics.GradientEntry
  • mx.graphics.LinearGradient
  • mx.graphics.LinearGradientStroke
  • mx.graphics.RadialGradient
  • mx.graphics.RadialGradientStroke
  • mx.graphics.SolidColor
  • mx.graphics.SolidColorStroke
  • mx.graphics.Stroke
  • mx.geom.Transform
Effedt classes
  • mx.effects.Parallel
  • mx.effects.Sequence
  • mx.states.Transition
  • mx.effects.Wait
States classes
  • mx.states.State
  • mx.states.AddItems

        想更快了解Flex 4,可以下載《Adobe Flex 4 Help》看一下。


相關文章