Flash Flex服務(wù)組件大排行
不是有人說Flash Flex沒有后端支持么,現(xiàn)在,咱列個清單出來。
AMF Projects輕量級
在眾多知名的后臺語言上,F(xiàn)lash和Flex開發(fā)人員除了可以使用標(biāo)準(zhǔn)的XML/E4X/Socket去請求非序列化的外部服務(wù)數(shù)據(jù)之外,還有一個輕量快捷的通訊機制,使用AMF (Action Messaging Format),你可以訪問opensource.adobe.com去找到關(guān)于AMF的詳細介紹,這里我只是簡單描述AMF是一種基于HTTP協(xié)議上以2進制序列化(10101010101....)和反序列化的方法來傳輸數(shù)據(jù)的開放消息通訊格式,用來和Flash Player進行服務(wù)端通訊。它的特點是速度快(有多快,請看我Blog中放出的Flex架構(gòu)剖析里面的環(huán)節(jié)),開發(fā)簡單,眾多第三方工具集合,缺點是仍然需要在服務(wù)端設(shè)置crossdomain.xml,以確保安全沙箱策略的通過。
那么針對眾多主流后臺語言,F(xiàn)lash和Flex開發(fā)者可以有什么樣的選擇(以下項目資源,均可通過google項目名稱得到具體地址)
針對Java,.Net,Ruby和PHP,可以使用WebORB。它提供了通用API來滿足Flash Player使用AMF方式跟這四種主流語言構(gòu)造的后端服務(wù)進行消息通信。
專門針對PHP,有大名鼎鼎的AMFPHP,開源社區(qū)第一個支持AMF實現(xiàn)的項目,支持AMF0和AMF3格式,跨越所有Flash Player版本,很成熟。另外一個也是人氣鼎沸的Zend AMF,通過Zend PHP Framwork一起交付,同樣支持AMF0和AMF3。
專門針對Ruby,你可以使用RubyAMF
針對.Net,可以使用FluorineFx,可以一直支持到.Net Framwork 3.5。
針對Python,可以使用PyAMF和GAE SWF Project,后者不得不提,允許開發(fā)者直接使用AMF讓Flash Player和Google App Engine通訊,支持Widgets模式,擴展了PyAMF的功能。
覺得這些AMF Projects還不夠?聽我接著往下講。
BlazeDS,提供強有力的Java-based AMF通訊實現(xiàn)方式,同時還支持消息推送。可以使用AMF和任何其他第三方實時通迅整合。除了支持AMF格式,還提供了RPC服務(wù),消息適配服務(wù),Proxy Service服務(wù)和各種Java適配器。BlazeDS將會很快出現(xiàn).Net版本。
GraniteDS,另外一個強力,免費,開源的J2EE級別的Data Service組件,面向Flash/Flex開發(fā)人員提供全面的J2EE之上的EJB3/Seam/Spring/Guice/Pojo級別的數(shù)據(jù)服務(wù)支撐。
Livecycle ES DS,完全的商用級別的Flex數(shù)據(jù)服務(wù)組件,如果上升到銀行,電信,證券,海關(guān)等專業(yè)的企業(yè)級數(shù)據(jù)服務(wù),LCESDS可以滿足Flex和后端J2EE各種服務(wù)的適配和通訊任務(wù)。
看了上面這些,冒昧問一句,Silverlight,你行么?
【編輯推薦】