7yue's Weblog

Thinking in RIA Solutions...2470,8514,1020的生活演绎

« iPhone上使用Flash Media Server的应用还记得一篇新闻么?现在有了新发展 »

Flash Flex Data Services服务组件大排行

不是有人说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,你行么?

  • quote 2.Y.Boy
  • http://www.riahome.cn
  • 远不止这些,不过都够了。
    Admin7yue 于 2009-7-23 11:55:48 回复
    咱就列个有代表性的,万一把google code里那成堆的都拎出来,怕吓坏了孩子们。

    由 Admin7yue 于 2009-7-23 11:57:03 最后编辑
  • 2009-7-23 11:51:11 回复该留言
  • quote 4.beherca
  • 在用 BlazeDS,挺好用的。现在尝试使用Grails+Flex来快速开发,flex用来做data visualization, grails做web 请求的处理,复杂的逻辑用java来处理
  • 2009-7-23 13:24:44 回复该留言
  • quote 5.Loveyuki
  • http://www.loveyuki.com
  • 也太较真了吧!

    微软的好处就是统一平台,人力成本低!

    你要知道国内很多大企业对开源社区的兴趣并不大!

    因为开源在一般人心目中就是没服务,不稳定!
    Admin7yue 于 2009-7-23 16:01:43 回复
    呵呵,的确较真了一下。凡事就怕较真啊~
    人力成本低对我们开发者而言是应该高兴呢?还是应该苦恼呢?
  • 2009-7-23 15:36:20 回复该留言
  • quote 7.Nero
  • http://www.n-frame.com
  • 把FL跟SL的更新列表拿出来,
    一般都是FL加入一些新特性,SL在下一个版本就跟着加入这些特性

    且不谈后台支持了,SL那个IDE是人用的么?
  • 2009-7-23 19:00:00 回复该留言
  • quote 8.Nero
  • http://www.n-frame.com
  • 想询问7YUE一个问题,
    一个SWF在FLASH PLAYER单独播放或者除IE外的浏览器(如firefox)播放消耗CPU大约在20%左右.在IE内播放,消耗CPU不到2%.
    IE版本为7和8,各环境下Player版本相同,IE内运行效率略比其他情况慢10%~20%.
    这是什么情况?
  • 2009-7-23 19:28:24 回复该留言
  • quote 9.wakuwaku
  • 本人就是用flex+cairngom+spring+blazds+ibatis+db2开发ria的

    可以说flex相对于sl的优势远远不能达到抛弃公关的程度。“好酒不怕巷子深”这句话在现代的商业社会已经完全不流行了。

    flex后台框架是很多,这是flex的优点也是致命的缺点。比如A和M公司到一家公司去推销RIA程序。客户问了你们都用那些后台框架啊? A公司的说,我们支持得很多框架,这个框架也可以,那个语言也支持; M公司说我们只支持一种框架,一种语言,从前台到后台都是一致的。如果你是客户决策人你会选择哪一个?

    当然从技术的角度可以完全辩驳M公司的言论。问题是客户决策人在意吗?!

    再好的技术也需要公关、销售去推广。只注重技术不注重市场的公司会很惨。SUN不是极其惨痛的例子吗?sun多少好东西,结果还不是被收购了?

    Admin7yue 于 2009-7-23 19:55:29 回复
    你的这个比喻要这么看,如果客户只问这一个问题,就作了决策,这个客户可能不是一个优质客户,可能是一个钱非常多的客户,也可能是一个对技术似懂非懂的客户。而且如果我去回答这个问题后,我会去跟客户继续沟通很多方面的问题,帮助他们清晰化到底什么是他们想要的,而不是得到一个问题的答案后就下结论。
  • 2009-7-23 19:41:49 回复该留言
  • quote 10.Y.Boy
  • http://www.riahome.cn
  • 回复 5 楼的:
    开源使很多企业减少成本,无论金钱还是时间。
    7yue 如是说“人力成本低对我们开发者而言是应该高兴呢?还是应该苦恼呢?”,我猜 5 楼是老板,不是开发者Grimace
  • 2009-7-23 19:48:43 回复该留言
  • quote 11.wakuwaku
  • 这次中国人寿的养老金事件,绝对是个经典的MBA案例。

    其实微软玩得还是老一套的流氓FUD战术,和当年IE玩死Netscape手法毫无二致。不过这次“版本升级”了一下:直接让客户现身说法了 :)

    问题是,我们应该怪客户笨?傻?不懂技术,或是吃回扣吗?不,我们可以引导客户,诱惑客户,我们永远不能对客户有要求。另外我个人认为优质客户的定义就是人傻,钱多!
    我还是坚持一个观点,flex这个技术是非常不错的,但是flex的市场推广极烂。当年mm公司把flex当宝,一个flexbuilder卖10k美刀,疯了! 当年我在国外的论坛看到无数的帖子声称很多开发公司都是因为fb的价格问题而放弃flex的使用。非常好的,黄金般的几年市场推广阶段就这样浪费掉了。

    到了adobe,adobe倒是大气直接开源了,问题是开源的有点过头,百花齐放,百家争鸣。光框架就5,6个。结果没有重点。这和当年的sun有啥区别。
    坦白的说,flex现在占优势还是靠98%的客户装机量,如果sl得装机量上来了。flex就相当危险了。至少我知道qq用的是sl.flex的大用户案例似乎完全没有看到过。
    乱说一气,探讨探讨
  • 2009-7-23 20:21:53 回复该留言
  • quote 17.Flex玩手
  • 7月兄弟你好!我的Adobe Flash Catalyst出问题了!打不开了!双击出个欢迎界面就没反应了,重装也是这样!没办法了,只有向7月兄弟求解!
  • 2009-7-26 18:37:18 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 91204

Copyright 2007 www.7yue.com. Some Rights Reserved.
京ICP备05064035号