溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Flex4有什么變化

發(fā)布時(shí)間:2021-12-14 13:42:18 來(lái)源:億速云 閱讀:117 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)Flex4有什么變化,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

1.集成AdobeCatalyst

Flex4的一個(gè)主要特性就是提供了對(duì)AdobeCatalyst(Adobe新的設(shè)計(jì)工具,用于創(chuàng)建富Internet應(yīng)用而無(wú)需編寫代碼)集成的支持。Catalyst改變了開(kāi)發(fā)者與設(shè)計(jì)者協(xié)作的方式,因?yàn)樗宄刂缿?yīng)用開(kāi)發(fā)者與設(shè)計(jì)者之間工作方式的顯著差異。這樣開(kāi)發(fā)者與設(shè)計(jì)者都能專注于自己所擅長(zhǎng)的領(lǐng)域,憑借Catalyst,無(wú)論開(kāi)發(fā)者還是設(shè)計(jì)者都能按照自己所習(xí)慣的方式進(jìn)行工作。Flex4中的很多變化都是圍繞著Flex與Catalyst的集成進(jìn)行的。請(qǐng)查看AdobeCatalyst站點(diǎn)以了解其詳細(xì)信息。

2.Spark組件架構(gòu)

Flex的每個(gè)版本都包含了完整的組件庫(kù),其中含有用于構(gòu)建應(yīng)用的通用組件,如數(shù)據(jù)表格、按鈕及布局容器等等。Flex4的底層組件架構(gòu)名為Spark,而在Flex3中則叫做Halo。為了支持Catalyst,F(xiàn)lex4更新了底層的組件模型以達(dá)到松耦合的目的。

在新的Spark組件模型中,核心邏輯、皮膚以及布局都被分開(kāi)了,這樣我們就能單獨(dú)處理其中任意一部分而又不會(huì)影響到其他部分。Spark組件模型構(gòu)建于Halo組件模型之上,這意味著Spark擴(kuò)展了Halo的核心基類UIComponent,這樣我們就能以增量的方式使用Flex4,同時(shí)還能將Flex3組件應(yīng)用在Flex4應(yīng)用中。

除此以外,F(xiàn)lex4還對(duì)效果(effect)進(jìn)行了增強(qiáng)。現(xiàn)在可以將效果應(yīng)用在任意的對(duì)象和類型上,這么做提升了其靈活性。Flex4的效果由新的“spark.effects”包實(shí)現(xiàn)。就像新的組件庫(kù)一樣,F(xiàn)lex4的效果也被重新實(shí)現(xiàn)了,但卻并沒(méi)有對(duì)Flex3的效果進(jìn)行任何變更,這么做的目的是為了保持向后兼容。請(qǐng)查看ChetHaase所寫的關(guān)于Flex4效果的文章或是其博客以更多地了解GumboEffect。

請(qǐng)閱讀白皮書以更多地了解Spark架構(gòu)。

3.MXML2009

MXML基于XML,構(gòu)建于FlashPlayer所用的編程語(yǔ)言——ActionScript3之上。MXML用于對(duì)用戶界面和支持工具(比如說(shuō)IDE,現(xiàn)在是Catalyst了)的視圖區(qū)域進(jìn)行布局。MXML2009包含了大量更新以對(duì)不同的行為(核心、皮膚和布局)進(jìn)行解耦,同時(shí)還提供了新的組件庫(kù)?,F(xiàn)在Flex4的組件在其自己的包中(spark.components)得以實(shí)現(xiàn),同時(shí)又沒(méi)有對(duì)Flex3的組件進(jìn)行任何變更,為此MXML2009專門提供了一個(gè)新的命名空間以提供支持。

下面的應(yīng)用聲明示例展示了如何使用該命名空間以及如何為Spark和Halo組件定義命名空間:

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

這樣,我們就可以通過(guò)下面的代碼聲明Flex4的Button:

<s:Buttonlabels:Buttonlabel="MyFlex4Button"/>

下面的代碼聲明了Flex3的Button:

<mx:Buttonlabelmx:Buttonlabel="MyFlex3Button"/>

請(qǐng)瀏覽MXML2009規(guī)范以深入了解其變化。

4.對(duì)ViewStates的改進(jìn)

Flex2將狀態(tài)(states)概念引入到了Flex框架中,這樣我們就可以通過(guò)簡(jiǎn)單的狀態(tài)改變來(lái)管理視圖組件的變化。Flex4改進(jìn)了視圖狀態(tài)(viewstates)以簡(jiǎn)化其語(yǔ)法,這樣我們就能更輕松地使用他們了。新語(yǔ)言屬性includeIn和excludeFrom就是簡(jiǎn)化語(yǔ)法的一個(gè)例子,我們可以設(shè)定組件的這兩個(gè)屬性值以響應(yīng)狀態(tài)變化(參見(jiàn)下面的代碼示例)。

<!--GiventhestatesA,B,C--> <m:states> <m:Statenamem:Statename="A"/> <m:Statenamem:Statename="B"/> <m:Statenamem:Statename="C"/> </m:states>  <!--ThisbuttonwillappearinonlystatesAandB--> <ButtonlabelButtonlabel="ClickMe"includeIn="A,B"/>  <!--ThisbuttonwillappearinstatesAandB--> <ButtonlabelButtonlabel="ButtonC"excludeFrom="C"/>

請(qǐng)點(diǎn)擊這里以進(jìn)一步了解ViewStates的變化。

5.FXG支持

FlashPlayer的核心是個(gè)繪圖引擎。Adobe在FlashPlayer10中引入了FXG,現(xiàn)在又將其引入到了Flex中。FXG是個(gè)聲明式的圖形格式,可以在工具間傳遞內(nèi)容,這意味著設(shè)計(jì)者可以在Catalyst或CS4Illustrator中創(chuàng)建內(nèi)容,接下來(lái)Flex應(yīng)用開(kāi)發(fā)者就可以將其導(dǎo)入并使用而無(wú)需修改任何內(nèi)容。

請(qǐng)閱讀FXG規(guī)范以了解更多細(xì)節(jié)信息。

6.皮膚增強(qiáng)

Spark組件模型***的變化在于對(duì)皮膚的顛覆性改造,現(xiàn)在皮膚可以控制組件的所有可視化部分,同時(shí)還將邏輯封裝到了組件核心之外。這樣我們就可以對(duì)組件的可視化部分進(jìn)行獨(dú)立修改而不會(huì)影響到底層的核心邏輯。

7.更新的布局組件

熟悉Flex開(kāi)發(fā)的人可能會(huì)注意到Flex3中的大多數(shù)容器都已經(jīng)不在Gumbo組件庫(kù)中了。這是由于布局已經(jīng)被解耦了,現(xiàn)在我們需要通過(guò)代理(delegtion)來(lái)處理他們。因?yàn)榇蠖鄶?shù)Flex3容器僅僅就是為了提供不同的布局樣式(比如說(shuō)用于水平布局的HBox,用于垂直布局的VBox等等),因此現(xiàn)在他們已經(jīng)沒(méi)什么用了。

下面的示例表明Flex開(kāi)發(fā)者現(xiàn)在也可以定義布局了。該示例利用Group類來(lái)管理按鈕,Group是個(gè)新的Spark類,用于管理其中的內(nèi)容條目。布局的結(jié)果就是兩個(gè)并排放置的按鈕,就像是使用Flex3中的HBox的結(jié)果一樣。

<s:Groupwidths:Groupwidth="400"height="400"> <s:layout> <s:HorizontalLayoutpaddingLefts:HorizontalLayoutpaddingLeft="5"paddingTop="5"/> </s:layout>  <s:Buttonlabels:Buttonlabel="Button1"/> <s:Buttonlabels:Buttonlabel="Button2"/> </s:Group>

來(lái)自Adobe的RyanStewart對(duì)新的布局機(jī)制進(jìn)行了深入分析。

8.FlashBuilder4

FlashBuilder4(之前叫做FlexBuilder)是面向應(yīng)用開(kāi)發(fā)者的***的EclipseIDE。該新版本帶有眾多更新,包括條件調(diào)試斷點(diǎn)、更多的重構(gòu)工具并支持FlexUnit4。一如往常,它還包括MXML、ActionScript3、可視化設(shè)計(jì)器以及Flex性能與內(nèi)存分析器(只有專業(yè)版才有該性能分析器)。

除此之外,該***版還提供了高級(jí)的數(shù)據(jù)管理特性以簡(jiǎn)化數(shù)據(jù)為中心應(yīng)用的開(kāi)發(fā)。這包括客戶端的數(shù)據(jù)管理特性,它可以處理CRUD操作以及在大集合中進(jìn)行滾動(dòng)。

請(qǐng)點(diǎn)擊這里來(lái)深入了解該IDE。

9.編譯器性能

幾乎每個(gè)Flex3開(kāi)發(fā)者心中都有一個(gè)痛&mdash;&mdash;糟糕的編譯器性能?;诖耍珿umbo的一個(gè)主要目標(biāo)就是改進(jìn)Flex4中的編譯器性能。雖然官方尚未發(fā)布性能基準(zhǔn),但來(lái)自Adobe的PeterDonovan根據(jù)自己所作的一些試驗(yàn)對(duì)其進(jìn)行了測(cè)試,結(jié)果表明新的編譯器性能提升了25%。他說(shuō)要想將性能提升3到4倍只能進(jìn)行重新設(shè)計(jì)。當(dāng)然了,每個(gè)企業(yè)級(jí)Flex應(yīng)用的開(kāi)發(fā)者都希望今年底Flex4正式發(fā)布時(shí)能實(shí)現(xiàn)這一點(diǎn)。

請(qǐng)閱讀PeterDonovan的文章來(lái)深入了解相關(guān)信息。

10.新的文本功能

Flash應(yīng)用(無(wú)論是Flex還是非Flex應(yīng)用)的一個(gè)主要議題就是高效處理文本的能力。在FlashPlayer10中,Adobe引入了全新的文本引擎以支持RIA的需要(多語(yǔ)言、打印以及鍵盤快捷鍵等等)。Gumbo引入了大量新的文本類(RichText、SimpleText等等)以在Flex框架中提供更健壯的文本支持。除此以外,Adobe正在全力開(kāi)發(fā)新的TextLayoutFramework以賦予ActionScript3開(kāi)發(fā)者利用FlashPlayer文本引擎的能力。

關(guān)于“Flex4有什么變化”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI