我是Air的新手。我有一个现有的Flex 2应用程序,我正在考虑将其引入Flexbuilder 3.我的问题是我可以使用相同的基本应用程序(和源代码)来制作Air版本,或者我是否必须维护以分离代码树:一个用于Air版本,一个用于Flex / SWF版本?
答案 0 :(得分:6)
我发现从同一来源创建Flex和AIR应用程序的最佳方法是为几乎所有代码使用核心库项目,为Flex和AIR应用程序使用单独的小项目。
有两个关键概念使这个功能非常强大和可维护,不仅允许两个应用程序,而且如果您愿意,可以用于许多“版本”。
模块: - 如果核心应用程序是 实际上是一个模块(或模块 加载其他模块)你将能够 轻松创建存根Flex和AIR 基本上是应用程序 那里设置项目属性, 跨模块的引用类 沟通,然后简单加载 核心应用程序模块 ModuleLoader组件。
工厂对象: - 有 你想在AIR上做的事情 您不能的桌面应用程序 在Flex应用程序中执行,或任何 你想要什么的情况 工作方式不同 应用程序,一个工厂对象 创建项目的实例 特定班级是一个很好的方法 它。例如,你可以打电话给你 “保存”功能,用于AIR保存 到文件系统,但对于Flex调用 一个网络服务。
看看Todd Prekaski的 优秀的Flex DevNet文章 Building Flex and Adobe AIR applications from the same code base 如何做到这一点。
创建Flex库项目后,您将创建主模块,创建Flex和AIR应用程序项目。在两个应用程序项目的属性中,将库项目src目录添加到Flex构建路径。在项目设置中,您还需要将模块添加到Flex模块部分,为项目设置优化选项。
答案 1 :(得分:5)
您不能在同一个Flex Builder项目中同时混合AIR和Flex,但您可以共享代码。这是怎么......
现在两个项目共享Flex项目的代码。
您需要注意不要在两个应用程序之间共享的代码中使用AIR only API。
答案 2 :(得分:2)
您可以使用相同的。
答案 3 :(得分:1)
一种方法是将大部分应用程序放在库中的基于组的组件中。
Flex和AIR应用程序都可以将该组件嵌入其窗口中。
如果需要自定义代码,请让Group组件接受一个Interface对象,该对象具有特定于平台的所有方法(loadFile,saveFile等)。每个应用程序都会注入一个适当实现这些方法的对象。
我已经开发了一个注入整个本地数据访问层(到SQLite数据库)的产品,核心应用程序不知道它是在浏览器中运行还是在桌面上运行(连接或断开连接)。 / p>
干杯
答案 4 :(得分:0)
创建3个项目:Air,Web和common。从空中和网络,包括共同。
http://simplifiedchaos.com/how-to-compile-both-flex-and-air-application