本文列出了一些Flash Flex后端支持的项目和组件。这些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,你行么?