2010-04-19 78 views
6

在Flex项目中组织功能模块的最佳方式是什么?我看到一些人将所有模块放在一个视图堆栈中,因此应用程序接口只加载一次,但当应用程序变大时,整个编译的swf会非常大。如果我们把swfs放在不同的页面中,我们通过HTTP请求传递请求参数,我们失去了flex RPC服务的好处,加载速度慢,并且我们看不到任何优于php,asp,jsp的优势...什么是最佳实践组织前端架构?Flex项目架构?

回答

2

这是一个棘手的问题,取决于您的应用程序。我一直在苦苦挣扎了一段时间,所以我很想看看其他方法。

在体系结构方面,我通常会创建一个“框架”应用程序,负责加载模块并通常显示它们。这个框架通常也处理认证等问题。无论是视角还是不同的解决方案都不是那么重要。但是你通常不想要的是将所有东西都打包成一个巨大的SWF,因为Flash播放器在实际显示任何东西之前需要加载所有东西。

当架构应用程序时,通常出现的相关问题是如何在结果应用程序中处理“导航”。我通常最终会建立某种导航事件,部分由框架(加载模块)和/或实际模块处理。但是,这只是我的理解,我很好奇听到其他方法。

1

模块按需加载。所以父swf的大小不应该取决于模块的数量。但是,加载模块时使用内存的大小会增加 - 如果这是一个问题,您可以尝试卸载它们(不是一件容易的事,但可以做到)。所以我会保持视图堆栈方法。

0

后来我共同创建了一个名为Anvil的大型Flex应用程序框架。该项目已经死了,但我们在Anvil中使用的架构模式仍然适用于大型应用程序。你可以阅读更多关于铁砧的建筑here。你可能也想看看UcompOS