gpt4 book ai didi

apache-flex - 弹性模块与 RSL

转载 作者:行者123 更新时间:2023-12-04 03:02:38 24 4
gpt4 key购买 nike

我对什么时候使用 Flex 模块RSL 库(在 Flex 3.5 中)更好感到有点困惑。

我的目标是将我的项目拆分成几个单元项目,这样我就可以分别进行测试和工作。假设我有一个客户应用程序和一个供应商应用程序。我还有一个带有两个按钮的前端面板。每个按钮都会启动客户应用程序或供应商应用程序。

这些应用程序可以做不同的事情。它们也共享一些 .as 函数和通用组件。

我明白,如果我创建一个主项目(用于用户登录并显示第一个面板)和两个模块(客户、供应商),我的 Eclipse 项目中必须包含所有这些组件,不是吗?

我应该为供应商创建 SWC 并为客户应用创建其他 SWC,然后使用 RSL 从主应用调用,而不是创建模块吗?

那么,哪种选择更合适呢?你有什么建议?每个选项的权衡是什么?

另一方面,这个 flex 应用程序通过 Blaze 和 ibatis 与 Java 集成以进行持久性管理,并由 Web apache 服务器保存。我还考虑过创建独立的 war 文件来保持这种独立性,但我认为这不会优化 flex 代码。我是正确的?

谢谢。

最佳答案

模块和 RSL 的用途不同。

RSL 可以包含代码和 Assets ,并在主 swf 加载时加载到内存中,就好像它们是同一文件的一部分一样。

RSL 的主要目的是分离出可能在多个应用程序中使用的代码或 Assets ,以便网络浏览器可以缓存它并且只加载一次。 RSL 不需要 Flex 框架,可用于任何 Flash/ActionScript 项目。您无法控制 RSL 的加载方式,也无法卸载它。

模块本质上是一个可以按需加载的外部 SWF,添加了大量 Flex 特定代码,以确保 Flex 功能按预期工作。例如,如果处理不当,样式继承和嵌入字体可能会在加载的 SWF 中出现问题。 Flex UI 组件有特定的逻辑来确保这些东西与模块一起正常工作。模块还处理跨域问题(例如,当鼠标悬停在来自另一个域的 SWF 上时,您通常无法接收鼠标事件,但模块可以解决此问题)。

模块按需加载,通常包含 View 。 模块的主要目的是延迟加载 View ,直到需要它为止。这加快了应用程序的初始加载速度,并且用户只有在他真正想要查看时才需要加载该 View 。

与仅加载 SWF 相比,模块具有显着的开销,但您需要使用模块来保证 Flex 的所有功能都按预期工作。

模块和 RSL 都可以进行优化,以删除已包含在特定应用程序中的代码。不过,这对模块来说更有意义,因为它会通过使其仅可用于单个应用程序来破坏 RSL 的主要用例。

关于apache-flex - 弹性模块与 RSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3004508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com