Flex 性能:将每个Flex应用程序作为Portal (门户)应用程序开发

来源:互联网 发布:python算法精解 编辑:程序博客网 时间:2024/04/29 17:21

本文来自:http://flex.sys-con.com/node/1053541 

在本文中,我将讨论RIA的一个重要方面,特别是Flex 语言建立的RIA-初步下载步骤。

我们认为你的应用程序高速,有两种原因:

1. 它就是高速的;

2. 我们设想它为高速的。

现在,我将采用在Farata Systems ,我们基本上成功运用于每个企业项目的方法-将任一Flex应用程序作为一个门户应用程序开发。有个例外:没有任何custom styling的Hello World应用程序这类简单的应用程序可存在于单一的SWF里。

任何严谨的应用程序,在技术上讲,是一个由小而轻的外壳应用程序构成的门户,在用户的机器上显得非常快捷,下载(以智能的方式)惰性上传的模块做需要的RSL。

不用说,你一定经常将Flex Framework程序库作为签名RSL部署,从而可以大幅减少RIA所要求的可下载字节。除非你的电脑从未使用过Flex应用程序,这些RSL会存储在Flash Player缓冲区的用户盘上(不要与网络浏览器的缓冲区混淆)。

现在,我们来看一个有一个轻质主SWP和十个模块的应用程序,其中七个模块包含表格。换言之,它们依靠datavisualization.swc。在应用程序启动时,SystemManager从SWF上读取RSL清单,在RSLListLoader类的帮助下完成下载。

在没有说明使用RSL的优势的情况下,我还是想提及一个事:Adobe的类RSLListLoader仅仅是上传了为每个模块所生成的SystemManager中所列的所有RSL。这意味着如果datavisualization.swc在三个模块里连接,SystemManager会下载三次(当该swc已被签名并被缓冲)。我们已经稍微修改了RSLListLoader,从而可以避免下载复制的RSL。

还有一个针对使用BlazeDS/LCDS的模块化应用程序的建议-不要为每个模块创建单独的services-config.xml文件。为了避免冲突,让它们重复使用你的应用程序的主SWF里所列的services-config.xml文件。这样你就可以恰当地向团队里开发人员分配工作任务-每位开发人员都有一个小测试装具模块应用程序,在测试模块时,无需等待其它模块就位。