flex ria应用的系统结构

近日看到一则新闻说 Chet Haase 从sun 跳槽到了adobe.chet原来sun公司在客户端技术的架构师(http://weblogs.java.net/blog/chet/). 看来现在adobe的吸引力不小.chet写了一篇文章解释flash和flex 的关系:
(http://graphics-geek.blogspot.com/2008/02/moment-of-reflexion.html)

近期一直在搞这方面的东西,于是有感而发,整理了下面这个结构图,希望是正确的,呵呵.



最底层的基础是as3虚拟机和flash player api. 象基本的数据类型,xml处理,正则表达式这些都可以认为是as3虚拟机的一部分,其它的 以flash.*开头的包里基本上都是属于flash player api的范围,包括显示对象,网络等.这些类构成了flash 平台可编程的基础.这些类在flash和flex的应用程序中都可以使用.
在这之上,包括了两种组件框架,flash组件框架(一般以fl.*命名),flex组件框架(以mx.*)命名.flash的组件框架结构相比较flex组件框架要简单得多,flex的组件框架是相当的庞大而复杂.
在组件框架之上就是我们自己的应用程序了.一般在flash里面开发的应用程序,只能使用flash组件; flex的情况有点特殊,基于flex的应用程序一般是用mxml开发界面,直接继承Application作为顶级显示对象,但flex 的编译器mxmlc确实可以编译直接继承Sprite的类,并将它作为顶级显示对象,这种情况下,在程序中是可以使用flash 组件框架的,前提是将这些类打包成为swc文件后放到mxmlc可以识别的路径上.(无论是flash开发环境还是flex sdk都没有这个swc文件,需要自己动手).
无论是flash的应用程序和flex 的应用程序在和服务器交互时,主要可以两种方式:
*  通过http之上的amf协议(也就是flash remoting),连接到支持amf协议的应用服务器上,现在主流的服务器端技术,java,php,.net都有开源的flash remoting实现,而java平台上除了第三方的开源组件外,更有正宗的系出adobe的blazeds(这个也是开源的).
*  通过rtmp或者rtmpt协议连接到flash media server或者open red5. Flash media server是adobe的商业产品,主要是用来做视频点播,视频会议,视频广播等应用的,fms的开发主要是使用javascript(非客户端的as3,而是老式的javascript). Open red5是基于java平台,spring,apache mina,jetty的一个开源产品,实现了rtmp,rtmpt,amf协议,最新的版本是0.7. open red5提供以下功能: 服务器->客户端的流媒体发布,包括flv格式和mp3格式. 客户端->服务器的流媒体录制(仅限于录制flv格式);shared object, 这是fms和red5上重要的用于同步连接客户端的技术;实时的流广播;flash remoting,可以将red5上的对象方法通过remoting暴露给flash 客户端调用,也可以让red5作为客户端,调用其它支持flash remoting 的服务器.
除了以上两种方式外,当然还有webservice,loader等等.当个人认为这些选项都没有什么优势,如果没什么限制的话,就是flash remoting和rtmp这两种是最好的选择.
在上面的所有层次中: as3 vm已经作为一个开源项目捐赠给mozilla基金会,flex组件和flash组件都是开源,应用服务器开源的选项大把,流媒体服务器也有了open red5这么一个优秀的开源选择(否则就得接受fms 高昂的价格).
可以看出,除了flash 播放器外,都是开源的了,flex这套框架,经过了三个主要版本的发展,已经很成熟,有不少基于flex的应用(http://flex.org/showcase/)
相比较而言,javafx现在连个正式版的编译器都没有发布, Silverlight没有一个像样的应用.所以,flex是目前构造ria应用的不二选择.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值