【问题标题】:Can I generate a Flex web and Air desktop app from the same source code?我可以从相同的源代码生成 Flex Web 和 Air 桌面应用程序吗?
【发布时间】:2023-03-25 02:04:02
【问题描述】:

我是 Air 新手。我有一个现有的 Flex 2 应用程序,我正在考虑将它引入 Flexbuilder 3。我的问题是我可以使用相同的基础应用程序(和源代码)来制作 Air 版本,还是必须维护单独的代码树: 一个用于 Air 版本,一个用于 Flex/SWF 版本?

【问题讨论】:

    标签: apache-flex air adobe desktop flexbuilder


    【解决方案1】:

    我发现从同一个源创建 Flex 和 AIR 应用程序的最佳方法是对几乎所有代码使用核心库项目,而 Flex 和 AIR 应用程序使用单独的小项目。

    有两个关键概念使它非常强大和可维护,不仅允许两个应用程序,而且如果您愿意的话,还允许许多“版本”。

    1. Modules:- 如果核心应用是 实际上是一个模块(或一个模块 加载其他模块)你将能够 轻松创建存根 Flex 和 AIR 基本上是应用程序 在那里设置项目属性, 跨模块的参考类 通信,然后简单地加载 核心应用模块 模块加载器。

    2. 工厂对象:- 当有 您想在 AIR 上做的事情 你不能的桌面应用程序 在 Flex 应用程序或任何 你想要什么的情况 不同的工作方式 应用程序,一个工厂对象, 创建项目的实例 特定的课程是一个很好的方法 它。例如,您可以调用您的 “保存”功能,用于 AIR 保存 到文件系统,但对于 Flex 调用 一个网络服务。

      看看 Todd Prekaski 的 优秀的 Flex DevNet 文章 Building Flex and Adobe AIR applications from the same code base 如何做到这一点。

    创建一个 Flex 库项目后,您将在其中创建主模块,然后创建您的 Flex 和 AIR 应用程序项目。在两个应用程序项目的属性中,将库项目 src 目录添加到 Flex Build Path。在项目设置中,您还需要将模块添加到 Flex Modules 部分,设置选项以针对项目进行优化。

    【讨论】:

    • Flex DevNet 文章的链接已失效。谁有更新的链接?
    • 为什么这么多人不了解永久网址的重要性?即使是销售产品以构建 Web 应用程序的 Adob​​e,也经常在这方面失败!
    【解决方案2】:

    您不能在同一个 Flex Builder 项目中混合使用 AIR 和 Flex,但可以共享代码。方法如下...

    1. 创建一个基于 Flex 的项目 通常会。
    2. 创建第二个基于 AIR 的项目。
    3. 在第二个应用程序中,转到 项目->属性。
    4. 选择“Flex 构建路径”选项。
    5. 在“源路径”下添加文件夹 包含您的来源 第一个基于 Flex 的项目。

    现在两个项目共享来自 flex 项目的代码。

    您需要注意不要在您打算在两个应用程序之间共享的代码中使用仅限 AIR 的 API。

    【讨论】:

      【解决方案3】:

      你可以使用相同的。

      【讨论】:

        【解决方案4】:

        一种方法是将应用程序的大部分放在库中基于组的组件中。

        Flex 和 AIR 应用程序都可以将该组件嵌入到它们的窗口中。

        如果您需要自定义代码,请让您的 Group 组件接受一个 Interface 对象,该对象具有特定于平台的所有方法(loadFile、saveFile 等)。每个应用程序都会注入一个适当地实现这些方法的对象。

        我开发了一个产品,它注入了整个本地数据访问层(到 SQLite 数据库),核心应用程序不知道它是在浏览器中运行还是在桌面上运行(连接或断开连接)。

        干杯

        【讨论】:

          【解决方案5】:

          创建 3 个项目:Air、Web 和 common。来自空气和网络,包括常见的。

          http://simplifiedchaos.com/how-to-compile-both-flex-and-air-application

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-02-24
            • 2013-02-12
            • 2011-06-04
            • 2011-06-17
            • 2017-06-20
            • 1970-01-01
            相关资源
            最近更新 更多