由Flex 3進入Flex 4的必備知識 PART 1

會怕嗎?Flex 4已經到Beta了,
相信大家都很人心惶惶吧,
很多人在向我問Flex 4差很多嗎?
Namespace
好複雜喔,我搞不清楚要怎嚜寫了,
別怕….別怕….在我的眼中其實Flex的架構根本沒變,
因此我決定有時間的時候分幾篇來介紹如何由Flex 3進入Flex 4所必備的應有知識,
只要你對Flex的架構夠清楚,
相信你三兩下就能進入Flex 4的狀況了。

Flex 4的主要十項改變:

分別為:

  1. 整合了Adobe Catalyst
  2. 提供新的 Spark組件架構
  3. 新的 MXML 2009 Namespace
  4. View States的改進
  5. 提供FXG支持
  6. 加強元件中Skin的配置
  7. 更新的排版組件的配置
  8. 新的Flash Builder 4開發工具 (原為Flex Builder 3)
  9. 增加編譯器效能25%
  10. 新的文字引擎

實際內容人家已經寫好了,就請移駕到該作者網站上去觀賞,不然我只是複製貼上多沒意思。
原文: http://www.infoq.com/articles/top-10-flex4-changes
翻譯: http://www.infoq.com/cn/articles/top-10-flex4-changes

新的 MXML 2009 Namespace

我們先從大家最害怕的Namespace談起,
以前在Flex 3中只有一組Namespace,那就是mx這組,
有上過我Flex課程的同學,
我們在課堂上已經有解釋過如何從manifest.xml檔案中去看其對應的類別與類別路徑了,
Flex 4
同樣繼承了相同的方式,將所有的類別對應全都寫在manifest.xml檔中,
你還是可以從中看到其Namespace對應的內容,
只要你能了解它的結構,那麼要進入到Flex 4中就算是完成了一大步了。

Flex 4中大家之所以會懼怕的原因,莫過於最常用的4Namespace,分別為:

  1. xmlns:fx="http://ns.adobe.com/mxml/2009″
  2. xmlns:s="library://ns.adobe.com/flex/spark"
  3. xmlns:mx="library://ns.adobe.com/flex/halo"
  4. xmlns="http://ns.adobe.com/fxg/2008″

說穿了,也只不過依照不同的類型分成四大組而已,
這麼做的好處就在於可以非常簡單的讓Flex 3Flex 4的元件可以混合使用,
所以Flex 4中可以用Flex 3的標籤所使用的方法並沒有大家想像中的了不起,
只不過分成兩組內容區分罷了,
原廠有對MXML 2009有詳細的說明,
你可以參考 http://opensource.adobe.com/wiki/display/flexsdk/MXML+2009

xmlns:mx="library://ns.adobe.com/flex/halo"

們先從mx這組開始說起,
Flex 3中我們用的是
xmlns:mx="http://www.adobe.com/2006/mxml"這個Namespace
Flex 4中用的是xmlns="http://ns.adobe.com/fxg/2008″
意思很明顯了,
也就是告訴你以前用mx寫的元件你就照辦就對了,
不然怎麼兼容Flex 3Flex 4的標籤啊。 XD

xmlns:s="library://ns.adobe.com/flex/spark"

這個看起來就怪怪的對吧,
別擔心,這只不過是Flex 4中新的一組元件罷了(稱為spark)
這組元件的好處在於你可以很容易的用MXML 2009來描述它的外觀,
寫法大致上與Flex 3halo系列元件差不多,例如:
<s:Button label="Flex 4 Button"/>
<mx:Button label="Flex 3 Button"/>

這樣就能混合寫出halospark元件了,
而使用spark元件最大的好處是可以用MXML 2009標籤去定義它的Skin外觀,
這是以前Flex 3所做不到的,
這要感謝在Flex 4CS4以後所搞出來的FXG格式,
至於要如何描述,我在以後的文章再繼續介紹,
免得這篇永無止境的寫下去。

xmlns:fx="http://ns.adobe.com/mxml/2009″

fx這組Namespace有新的任務了,
我們以前常寫的<mx:Bindiing><mx:Style><mx:Script><mx:Array>
這些標籤現在都歸納到fx這個Namespace底下了,
我就姑且稱他們為一般性標籤,
雖然看似複雜,其實這有一個非常大的好處,
那就是在Flex 4中可以將元件的Namespace和一般性標籤的Namespace分開,
對邏輯分類算是非常洽當的分法,
我將一些對應的標籤列在下面:

Flex 3

Gumbo

xmlns:mx="http://www.adobe.com/2006/mxml"

xmlns:fx="http://ns.adobe.com/mxml/2009"

<mx:Binding>

<fx:Binding>

<mx:Component>

<fx:Component>

<mx:Metadata>

<fx:Metadata>

<mx:Model>

<fx:Model>

<mx:Repeater>

<fx:Repeater>

<mx:Script>

<fx:Script>

<mx:Style>

<fx:Style>

當然在Flex 4中有有新的項目,關於細節以後在說明:

Flex 3

Gumbo

xmlns:mx="http://www.adobe.com/2006/mxml"

xmlns:fx="http://ns.adobe.com/mxml/2009"

N/A

<fx:Declarations>

N/A

<fx:Definition>

N/A

<fx:DesignLayer>

N/A

<fx:Library>

N/A

<fx:Private>

N/A

<fx:Reparent>

關於資料型態一樣照樣翻過去就可以用了,別擔心:

Flex 3

Gumbo (MXML 2009)

xmlns:mx="http://www.adobe.com/2006/mxml"

xmlns:fx="http://ns.adobe.com/mxml/2009"

<mx:Array>

<fx:Array>

<mx:Boolean>

<fx:Boolean>

<mx:Class>

<fx:Class>

<mx:Date>

<fx:Date>

<mx:Function>

<fx:Function>

<mx:int>

<fx:int>

<mx:Number>

<fx:Number>

<mx:Object>

<fx:Object>

<mx:RegExp>

<fx:RegExp>

<mx:String>

<fx:String>

<mx:uint>

<fx:uint>

N/A

<fx:Vector>

<mx:XML>

<fx:XML>

<mx:XMLList>

<fx:XMLList>

Vector這傢伙是新的資料型態,一樣以後再說 XD

xmlns="http://ns.adobe.com/fxg/2008″

看這組Namespace應該不難猜出他是拿來幹麻用的,
沒錯!這的確是拿來描述FXG內容用的,這個同樣是說來話長,
因為這還牽扯到一些新的標籤,以後在另闢一篇來說明吧。

如何?有沒有很簡單呢?
我快速的幫大家整理了一下Namespace的分類與用途,
相信你在下一次使用Flex 4的時候,
應該可以非常容易的將原來在Flex 3中的撰寫方法移植到Flex 4上去,

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值