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