在某些情况下 Java 与 Flex 的集成是富于挑战的。Adobe 期望通过 Flex 3 的发布来简化这一切,在 Flex 3 中包含了一个基于 Java 的编译器 API 。这个 API 可以让你从 Java 应用中编译 SWF 和 SWC 文件, 支持与 mxmlc 和 compc 命令行工具相同的选项。
下面的概念依赖于 Java 开发者创建的 Flex 应用对象。这些对象代表一个 Flex 应用,它们是通过设置其 mxml 和输出来构建的。
Application application = new Application(new File("…/apps/TestApp.mxml"));
application.setOutput(new File("…/apps/TestApp.swf"));
long result = application.build(true);
值得强调的 Flex 中的 Java API 列举如下:
- 在编译期产生报告并提供如进度和日志这样的信息,同时提供关于应用、库和项目的报告。
- 更高效的增量编译。因为它只会重新编译变化的虚拟文件而不是应用中的所有文件。
- 在运行期创建应用和库的源文件的能力,并且将这些文件编译到应用和库中。
- 在内存中创建 Flex 应用,并且将它们编译成 SWF 文件而无需事先在磁盘上创建好 MXML 文件。
对于希望构建 Flex 应用的 Java 开发者来说,现在已经有一些工具可以帮助他们了。 Antennae 已经出来一段时间了,它是一套利用 Ant 来构建复杂的 Flex 项目的模板。Antenne 同样也是基于 mxmlc 和 compc 的,它向开发者提供了将 Flex 集成到 Java 项目中的另一种方式。
可以在这里查看Flex 3 的基于Java 编译器API 的详细信息。
查看英文原文: A Look at Flex 3.0’s Java-based Compiler API
译者简介:张龙,同济大学软件工程硕士,现就职于理光软件研究所。主要从事文档工作流和办公自动化解决方案的研发工作。热衷于Java 轻量级框架的研究,对敏捷方法很感兴趣。曾有若干年的J2EE 培训讲师经历。参与InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com 。
评论