成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解析Flex4的十大變化

開發(fā) 后端
Adobe發(fā)布了Flex4(Gumbo)的首個官方beta版,該版本包含了眾多的變化。本文向大家簡單介紹一下Flex4的十大變化。

本文和大家重點討論一下Flex4的十大變化,本文從較高層次審視了這個流行RIA框架的***版,討論了其所發(fā)生的主要變化。

Flex4的十大變化

本周Adobe發(fā)布了Flex4(Gumbo)的***官方beta版。該版本包含了眾多的變化。本文從較高層次審視了這個流行RIA框架的***版,討論了其所發(fā)生的主要變化。

匯集***Flash平臺技術相關資源,提供Flash平臺相關工具高速下載

1.集成AdobeCatalyst

Flex4的一個主要特性就是提供了對AdobeCatalyst(Adobe新的設計工具,用于創(chuàng)建富Internet應用而無需編寫代碼)集成的支持。Catalyst改變了開發(fā)者與設計者協(xié)作的方式,因為它清楚地知道應用開發(fā)者與設計者之間工作方式的顯著差異。這樣開發(fā)者與設計者都能專注于自己所擅長的領域,憑借Catalyst,無論開發(fā)者還是設計者都能按照自己所習慣的方式進行工作。Flex4中的很多變化都是圍繞著Flex與Catalyst的集成進行的。請查看AdobeCatalyst站點以了解其詳細信息。

2.Spark組件架構

Flex的每個版本都包含了完整的組件庫,其中含有用于構建應用的通用組件,如數(shù)據(jù)表格、按鈕及布局容器等等。Flex4的底層組件架構名為Spark,而在Flex3中則叫做Halo。為了支持Catalyst,Flex4更新了底層的組件模型以達到松耦合的目的。
在新的Spark組件模型中,核心邏輯、皮膚以及布局都被分開了,這樣我們就能單獨處理其中任意一部分而又不會影響到其他部分。Spark組件模型構建于Halo組件模型之上,這意味著Spark擴展了Halo的核心基類UIComponent,這樣我們就能以增量的方式使用Flex4,同時還能將Flex3組件應用在Flex4應用中。

除此以外,Flex4還對效果(effect)進行了增強。現(xiàn)在可以將效果應用在任意的對象和類型上,這么做提升了其靈活性。Flex4的效果由新的“spark.effects”包實現(xiàn)。就像新的組件庫一樣,Flex4的效果也被重新實現(xiàn)了,但卻并沒有對Flex3的效果進行任何變更,這么做的目的是為了保持向后兼容。請查看ChetHaase所寫的關于Flex4效果的文章或是其博客以更多地了解GumboEffect。
請閱讀白皮書以更多地了解Spark架構。

3.MXML2009

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

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

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

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

<s:Buttonlabel="MyFlex4Button"/>
下面的代碼聲明了Flex3的Button:
<mx:Buttonlabel="MyFlex3Button"/>
請瀏覽MXML2009規(guī)范以深入了解其變化。#p#

4.對ViewStates的改進

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

  1. <!--GiventhestatesA,B,C--> 
  2. <m:states> 
  3. <m:Statenamem:Statename="A"/> 
  4. <m:Statenamem:Statename="B"/> 
  5. <m:Statenamem:Statename="C"/> 
  6. </m:states> 
  7.  
  8. <!--ThisbuttonwillappearinonlystatesAandB--> 
  9. <ButtonlabelButtonlabel="ClickMe"includeIn="A,B"/> 
  10.  
  11. <!--ThisbuttonwillappearinstatesAandB--> 
  12. <ButtonlabelButtonlabel="ButtonC"excludeFrom="C"/> 
  13.  

 請點擊這里以進一步了解ViewStates的變化。

5.FXG支持

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

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

6.皮膚增強

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

來看看PanelSkin.mxml皮膚文件吧,Panel容器的默認皮膚代碼如下:

 

  1. <?xmlversionxmlversion="1.0"encoding="utf-8"?> 
  2. <s:SparkSkinxmlns:fxs:SparkSkinxmlns:fx="http://ns.adobe.com/mxml/2009"xmlns:s="library://ns.adobe.com/flex/spark"alpha.disabled="0.5"> 
  3.  
  4. <fx:Metadata> 
  5. <![CDATA[  
  6. /**  
  7. *@copyspark.skins.default.ApplicationSkin#hostComponent  
  8. */  
  9. [HostComponent("spark.components.Panel")]  
  10. ]]> 
  11. </fx:Metadata> 
  12.  
  13. <fx:Script> 
  14. /*Definetheskinelementsthatshouldnotbecolorized.  
  15. Forpanel,borderandtitlebackroundareskinned,butthecontentareaandtitletextarenot.*/  
  16. staticprivateconstexclusions:Array=["background","titleField","contentGroup"];  
  17.  
  18. /**  
  19. *@copyspark.skins.SparkSkin#colorizeExclusions  
  20. */  
  21. overridepublicfunctiongetcolorizeExclusions():Array{returnexclusions;}  
  22.  
  23. /*Definethecontentfillitemsthatshouldbecoloredbythe"contentBackgroundColor"style.*/  
  24. staticprivateconstcontentFill:Array=["bgFill"];  
  25.  
  26. /**  
  27. *@inheritDoc  
  28. */  
  29. overridepublicfunctiongetcontentItems():Array{returncontentFill};  
  30. </fx:Script> 
  31.  
  32. <s:states> 
  33. <s:Statenames:Statename="normal"/> 
  34. <s:Statenames:Statename="disabled"/> 
  35. </s:states> 
  36.  
  37. .....  
  38.  
  39. <s:Rectlefts:Rectleft="1"right="1"top="31"height="1"> 
  40. <s:fill> 
  41. <s:SolidColorcolors:SolidColorcolor="0xC0C0C0"/> 
  42. </s:fill> 
  43. </s:Rect> 
  44.  
  45. <!--layer5:text--> 
  46. <!--DefinestheappearanceofthePanelSkinclass'stitlebar.--> 
  47. <s:SimpleTextids:SimpleTextid="titleField"lineBreak="explicit"  
  48. left="10"right="4"top="2"height="30"  
  49. verticalAlign="middle"fontWeight="bold"> 
  50. </s:SimpleText> 
  51.  
  52. <s:Groupids:Groupid="contentGroup"left="1"right="1"top="32"bottom="1"> 
  53. </s:Group> 
  54.  
  55. </s:SparkSkin> 
  56.  

 由于該皮膚文件唯一的作用就是控制Panel容器的可視化外觀,因此設計者可以修改組件的樣式而無需編輯其源代碼,也不必了解組件的內部行為。更為重要的是,設計者可以按照自己熟悉的方式來使用Catalyst。
請點擊這里深入了解Gumbo的皮膚組件。#p#

7.更新的布局組件

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

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

  1. <s:Groupwidths:Groupwidth="400"height="400"> 
  2. <s:layout> 
  3. <s:HorizontalLayoutpaddingLefts:HorizontalLayoutpaddingLeft="5"paddingTop="5"/> 
  4. </s:layout> 
  5.  
  6. <s:Buttonlabels:Buttonlabel="Button1"/> 
  7. <s:Buttonlabels:Buttonlabel="Button2"/> 
  8. </s:Group> 
  9.  

來自Adobe的RyanStewart對新的布局機制進行了深入分析。

8.FlashBuilder4

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

除此之外,該***版還提供了高級的數(shù)據(jù)管理特性以簡化數(shù)據(jù)為中心應用的開發(fā)。這包括客戶端的數(shù)據(jù)管理特性,它可以處理CRUD操作以及在大集合中進行滾動。
請點擊這里來深入了解該IDE。

9.編譯器性能

幾乎每個Flex3開發(fā)者心中都有一個痛——糟糕的編譯器性能。基于此,Gumbo的一個主要目標就是改進Flex4中的編譯器性能。雖然官方尚未發(fā)布性能基準,但來自Adobe的PeterDonovan根據(jù)自己所作的一些試驗對其進行了測試,結果表明新的編譯器性能提升了25%。他說要想將性能提升3到4倍只能進行重新設計。當然了,每個企業(yè)級Flex應用的開發(fā)者都希望今年底Flex4正式發(fā)布時能實現(xiàn)這一點。
請閱讀PeterDonovan的文章來深入了解相關信息。

10.新的文本功能

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

如你所見,Flex4代表了該流行的RIA平臺的巨大進步。請查看MattChotin的文章《What'snewinFlex4SDKbeta》來深入了解Flex4SDK的變化。

作者簡介

JonRose是GorillaLogic,Inc.(位于科羅拉多州的博爾德)的一名企業(yè)軟件咨詢師和Flex業(yè)務主管。他還是知名的企業(yè)軟件社區(qū)InfoQ.com的編輯。另外,他是DrunkOnSoftware.com的主辦人之一,這是一個面向那些愛豪飲的朋友的視頻網(wǎng)站。他的客戶有小公司,也有政府部門。愛解決難題的天性使其致力于開發(fā)高質量的軟件。你可以通過其博客了解他。

【編輯推薦】

  1. Flex開發(fā)者需要知道的10件事
  2. FlexBuilder的路在何方 
  3. FlexBuilder利用trace函數(shù)成功調試簡明步驟
  4. FlexBuilder3.0與Eclipse3.4的***結合
  5. 術語匯編 FlexBuilder入門指導
責任編輯:佚名 來源: douban.com
相關推薦

2010-08-02 11:26:21

Flex4

2010-08-13 10:30:30

Flex4

2010-08-12 14:58:12

Flex4

2010-08-12 14:51:40

Flex4

2010-08-13 14:45:58

Flex4布局

2010-08-12 14:31:42

Flex4

2009-07-29 09:40:02

Flex 4

2010-08-05 14:43:28

AdobeFlex

2022-05-10 16:40:09

UbuntuLinux

2013-11-25 09:35:52

Forrester云計算

2010-08-02 12:44:01

Flex3Flex4

2010-08-13 09:05:09

Flex4Halo

2010-08-06 10:56:11

Flex4MyEclipse

2010-08-04 11:04:58

Flex框架

2010-08-02 14:23:56

FlexBuilder

2010-07-27 11:14:34

Flex

2010-08-02 11:09:45

Flex4

2020-02-02 13:55:59

互聯(lián)網(wǎng)云計算技術

2010-07-27 09:37:44

Flex

2009-07-16 14:09:24

Flex3到Flex4
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久999国产精品 中文字幕在线精品 | 日韩精品一区二区三区中文字幕 | 国产免费让你躁在线视频 | 天天操天天射综合 | 日本成人毛片 | 91精品国产一区二区三区 | 日韩精品一区二区在线观看 | 91在线网 | 国产在线精品一区 | 欧美一区二区在线 | 精品视频久久久 | 91麻豆精品国产91久久久更新资源速度超快 | 日韩手机在线视频 | 欧美4p| 操久久 | 91亚洲欧美| 国产韩国精品一区二区三区 | 日本在线小视频 | 日韩网站免费观看 | 日韩精品专区在线影院重磅 | 99视频免费| 999久久久久久久久6666 | 国产精品久久久久一区二区三区 | 国产一区二区免费 | 国产精品一区二区三区四区 | 成人中文字幕在线 | 日本三级电影在线看 | 日韩欧美国产精品一区二区三区 | 欧美女优在线观看 | 少妇无套高潮一二三区 | 黄色成人在线观看 | 一区二区三区回区在观看免费视频 | 2021天天躁夜夜看 | 亚洲人成一区二区三区性色 | 欧美人妇做爰xxxⅹ性高电影 | 一级少妇女片 | 中文一区 | 国产久视频 | 久久国产高清 | 91麻豆精品国产91久久久久久久久 | 91精品久久久久久久久久入口 |