4

我们为 Flash 平台开发应用程序,其中包含大量运行时加载的资产(图形、数据、音频、代码库等)。这些资产在项目文件夹中按逻辑组织。程序员和设计人员从版本控制中获取最新信息,签出他们的代码或设计工作,在应用程序的完整本地副本中进行测试,然后在完成后签入。该组织对这个工作流程和我们的沟通很重要。

使用 Flash 或 FlashDevelop,我可以轻松地处理任何组织的文件夹和文件。我可以轻松地编译单个包或类来创建运行时可加载的 swf。在 Flex Builder Pro 中,似乎我的选择是为我需要编译的每个 swf 创建一个项目,或者创建一个引用模块的项目,这些模块也可以设置为项目。这两种技术似乎都不适合团队,甚至不如我们当前的工作流程。注意:我有大约 10 年的 Flash 使用经验,但只有几个月使用 Flex Builder Pro 的经验。我很可能只是没有发现更好的工作流程。

您能否分享一些关于您和您的团队如何使用 Flex Builder Pro 开发具有大量运行时库和其他资产的大型应用程序的技巧?

4

3 回答 3

4

一般来说,您是正确的:使用 FlexBuilder 的想法是您将创建一个需要构建的项目(.swf、.swc 等)。

文件存储库(正如您提到的那样)绝对是大规模开发的必备品。

在您的工具箱中添加诸如Ant(我个人最喜欢的)和Maven(流行度和功能迅速增长)之类的构建工具可以让您进行更高级的构建(甚至是单元测试)。这些类型的工具将允许在单个操作中构建具有许多方面和依赖关系的大型应用程序。这对于大型应用程序和开发环境来说是必须的。对于有很多子项目的大型项目,我通常会有一个“主”项目,它只不过是一个调用子项目构建脚本并将所有内容放在一起的构建脚本。Maven 尤其擅长这一点。有 Eclipse 插件可以帮助使用这两种工具。

不同的情况需要不同的方式一起使用项目。将库项目作为依赖项直接链接可能会有所帮助。这样,您的项目就能够调试链接的代码并根据需要对其进行修改。或者,如果库项目的修改频率较低,则可以将其资产放入依赖项目的 /libs 文件夹中,从而无需在开发过程中打开 .swc 生成项目。

将您的项目保持在每个项目一个资产的情况下,对于保持其井井有条有很长的路要走。通常我为每个客户都有一个文件夹,每个项目都有一个文件夹。如果该项目需要分解为子项目,那么所有这些子项目都将位于该项目文件夹中(无论彼此之间的关系如何)。

有时,为单个项目创建多个资产当然会有所帮助。这可能是针对不同情况的多个 .swf、用于分发到不同地方或客户的不同 .zip 或十几种其他情况。“资产”项目有时就是一个很好的例子。有时我有一个“项目”,它只是我的资产集合。我通常不会从 FlexBuilder 中访问该项目,而且它通常没有 .project 和其他 Eclipse 文件。

于 2009-04-13T21:31:20.847 回答
0

我还结合使用图书馆项目和常规项目。我在大型项目中遇到的一个问题是编译时间。以下是编译的一些链接:

设置正确的 eclipse.ini 并使用 -incremental 编译器选项确实帮助了我。

于 2009-05-02T17:05:27.173 回答
0

除非您开发一个 Hello World 应用程序,否则您应该拥有多个 Flex Builder 项目。主要的类具有最少的类,并且可能是显示应用程序的第一个屏幕所需的共享库。

字体和 CSS 转到单独的项目并编译成单独的 swf。在运行时通过 StyleManager 加载它们。仅此一项就可以加快应用程序的编译速度。

其余代码必须拆分为单独的项目(Flex 库项目或仅具有模块的项目)。阅读有关将库与主项目链接的差异(RSL 与合并到代码与外部)。

我们使用 Ant 来构建每个项目和整个应用程序。我们的开源 Fx2Ant 实用程序可在几秒钟内为您的 Flex Builder 项目生成 ANT 脚本。

例如,这是我去年从事的项目:http ://www.mbusa.com 。它由超过 15 个 Flex Builder 项目组成。

于 2009-05-12T22:00:35.083 回答