Flash大型ActionScript编程编程经验之谈

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

用action script RIA开发也有很久了。主要谈谈对flash RIA架构的数据交互的经验和想法。

最开始的时候,是使用的flash+xml的方式进行交互。这种方式 是目前常见的,不过过于低级。 开发小于50个表的系统时候 还可以忍受。但是 如果开发大型的系统。每次 数据交互的时候都要写对应的 加标签和解析标签的,写了xml2Table效果也不大好。太繁琐了。感觉开发完全成了体力劳动。

后来,开始了flash remoting和 axis web services的开发,终于让体力劳动结束了。不过 感觉 flash remoting的效率高一些[二进制数据]。在系统开放性和系统效率 之间我选择了系统效率。

还有一个原因是axis在jbuilder下发布很方便。但是eclipse下没有找到那么好的插件,手工部署。而我又对jbuilder不感冒。所以青睐remoting的简单。

在于客户端的数据交互的时候,最开始,remoting提供了一个RecordSet,DataGlue,可以通过此 绑定在 mm的各种控件上,这样做好像开发效率很高,也是mm推崇的方式。 但是开发时也遇到了问题:

1 mm的v2控件是十足的体积杀手[swf体积快速变大]。

2 本着mm提供的dataSet,需要 服务器端提供一个不占连接的 DataSet, 这个DataSet应该是类似asp.net提供的那些

DataTable,而且可以兼容xml格式的DataSet, 而jdbc中常见的只有一个不争气的resultSet,rowset也不尽人意。以前我就打算自己开发一个这样的dataset,但是在sun上说jdbc4.0马上就出来了。我就忍了。可是2年过去了还是没出来。

后来我的解决办法是:

1 我们team自己开发了一套控件来替代mm的控件。

2 自己写了DataTable,xml2Table,Xml2Object等DataSet类来交互。

这个时候,但是自己写的DataSet并没有 得到太大的应用。因为我们马上采用了hibernate。在客户端,我们也写了对应的POJO的 AS类。因此,客户端面对的是对象,不是Table,Array,Item这些东西了。在这种方式下,终于解决了困扰已久的问题,服务器端和客户端基本上都是完全的OO,整个一个C/S的开发方式。大型的程序 都可以系统地开发了。

我们的最终架构:

flash: MVC (M: AS DAO ;V: UIObject;C[system logic])

java: remote inferface+ business logic+ ORM+DB

当然,因为速度上的考虑。有些地方没有像hibernate纯OO。还是用了比较脏的方式。当然项目开发就是这样。平衡胜于完美,可能以后会用ibatis吧。

再说一句,我对 Laszlo和flex一点都不看好,他让web开发又回到了jsp 时代.总体来说,struts,webwork不会马上应用到flash ria的。而且从longhorn的角度来说,以后没有c/s和b/s,只有c/s就是b/s了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航