Flex 框架

AdobeFlex及相關技術正成爲RIA領域的主流。雖然Flex社區的規模還遠比不上Java或Microsoft平臺,但它正在FlexRIA開發者們的栽培下穩健地成長。許多開源開發框架也因此被創造出來:

Cairngorm

Cairngorm是最老也最成熟的Flex框架。它現在由Adobe擁有並開源,而且被Adobe的RIA顧問服務團隊大量使用。創造出Cairngorm的AdobeConsulting團隊是把設計模式框架運用到RIA開發的最早的倡導者。Cairngorm中可以看到許多在JEE世界中廣泛使用的MVC相關設計模式,即使它只是一個僅用於RIA用戶界面開發的微型架構框架。

Cairngorm被看作是企業RIA開發框架。它的分層MVC實現有助於開發出具有複雜的業務邏輯的可伸縮的RIA應用。在異步通信、事件驅動、無線程的Flex平臺上,Cairngorm爲構建嚴肅的商業應用程序提供了快速而可靠的方法

Cairngorm的本質也決定了它可能不適用於小型的快速原型。Adobe說:

Cairngorm微架構的意圖是爲企業RIA開發者提供一個框架。如果你在編寫一個非常簡單的應用(比如程序原型),或者只有一個視圖的程序,那麼你應該考慮“一體化”的方案,就不必掙扎於Cairngorm所倡導的模型、視圖和控制分離了。Cairngorm架構的益處在開發複雜的RIA應用的時候才能體現出來,比如有多個用例和視圖,由一整個團隊負責開發,以及團隊中存在設計師、創意型開發者、技術型開發者等受過不同訓練的成員的情形。

PureMVC

它實際上是一個ActionScript3框架。與Cairngorm不同,它完全不依賴任何Flash、Flex或其他Adobe的AS3類。因此它可用於開發任何基於Flash或者ActionScript3的應用程序。

從PureMVC的名字中就可以看出,它是根據MVC設計模式來實現的,裏面包含了三層,即模型、視圖和控制器。這個框架的文檔很全面,它的網站上也有很豐富的信息去幫助開發者上手。

由於PureMVC是純粹用ActionScript實現的,而ActionScript是與JavaScript基於相同標準(ECMAScript)的,強類型的,完全面向對象的語言,因此PureMVC可以很容易移植到其他OO語言。而事實上也確實如此:

我高興地宣佈把PureMVC移植到4種語言的工作正在進行之中:AS2、C#、Java和ColdFusion,現已接近向公衆公開的階段。這樣PureMVC的適用平臺就擴大到了FlashLite、.NET、WindowsMobile、Silverlight、J2ME、SE、EE以及……ColdFusion:)

這些移植版以及許多演示程序和工具都是由一羣專門投身於此項工作的貢獻者們完成的,他們遍及全世界。還有許多翻譯人員加入進來幫忙把PureMVC的文檔翻譯成其他語言,包括法語、德語、俄語、漢語和日語等等。他們不知疲倦的工作把一個簡單的個人項目變成了全球化的開源成果。很快,你就會認識他們,並愛上他們高質量的工作。要是遇到了這羣人中的某一位,請他喝一杯吧!

考慮到ActionScript(ECMAScript)連同Adobe所用的Flash引擎將被內建於下一代的Firefox,PureMVC將會成爲RIA開發者們開發跨平臺富應用的一件非常趁手的工具。

Model-Glue:Flex

Model-Glue:Flex也是一個簡單的MVCFlex框架。JoeRinehart把他最初創作的Model-GlueforColdFusion移植到了Flex。Model-Glue:Flex受到了好評。它的設計意圖是成爲一個比Cairngorm和PureMVC更輕量的框架,因此更便於快速原型和簡單的Flex應用開發。

Foundry

ServeBoxFoundry(sbasfoundry)是爲Flex2應用程序開發而設計的ActionScript3/Java框架。它根據幾個設計模式而設計,還包括了一些工具,用來解決Flex2開發中一再重現的煩人問題:Model-View同步、屏幕瀏覽、訪問控制列表(開發中)、本地化以及標籤文字外部化等等。

Foundry是爲中大型規模的企業RIA系統開發而設計和實現的。它包含了Java公用模塊,用來將FoundryFlex插件與服務器端的進程緊密集成。

GuasaxFlexFramework

Guasax是一個易於使用的編程框架,可實現條理清晰的,可伸縮的Flex應用程序。

Guasax框架在運行時依照MVC模式來處理程序的動作。Guasax的一個獨特之處是它用一個XML文件來配置業務邏輯中的動作,在某些方面類似於JavaStruts框架。可通過開發Guasax組件來擴展Guasax。

ARP

AralBalkan當初把ARP(AriawareRIAPlatform)作爲一個ActionScript框架來開發,現在它已成爲OpenSourceFlash項目羣的一員。ARP現在支持使用ActionScript2和ActionScript3來開發Flash或Flex的RIA應用。

ARP可能是Flash社區中最老的框架。ARP的第一版是早在2000年用Flash5編寫的,其中一部分曾隨開源的FC-Lib庫發佈。隨後它發展到FlashMX,其中一部分又進入了開源的Moose庫。由於它是從Flash框架進化而來,ARP可以在Flex和AIR中使用。ARP的代碼直接訪問Flash類,因此有報告說它比其他Flex框架性能更好。

FlestFramework

Flest是構建企業級RIA的ActionScript3/Flex應用程序框架。它運用了Controller、Factory、Command等設計模式。它的設計理念是高效、簡單和實用。Flest框架是一個輕量級且易於使用的工具集合,不但幫助搭建開發的環境,還給開發者最大的自由去實現自己的決定。

除了上面列出的框架,還有一些使用不那麼廣泛的。你可以看一下EasyMVC、AdobeFAST和Joeberkovitz的框架。

除了用來開發RIA用戶界面的框架,RIA開發者還有其他幫手,比如FlexUnit(ActionScript3的單元測試框架),FlexLib(開源Flex2組件庫),AS3CoreLib(提供了若干基本工具和出色JSON支持的ActionScript3.0類庫),以及GraniteDS(AdobeDataServicesforJ2EE應用服務器的免費、開源的替代品,支持EJB3/Spring/Pojo服務)。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章