【问题标题】:What's the advantage of an Adobe AIR app over a traditional desktop app?Adobe AIR 应用程序与传统桌面应用程序相比有何优势?
【发布时间】:2023-03-21 13:02:01
【问题描述】:

我对使用 Adob​​e Flex 和 AS3 非常熟悉,与使用 JS/HTML 编写应用程序相比,我认为它非常酷。然而,由于 AIR 本质上是具有本地存储等优点的非浏览器版本的 Flex,它似乎正在作为一个跨平台的桌面应用程序平台进行竞争......在那个领域,它远不如更成熟的桌面技术成熟。

那么,与 Java(或使用 wxWidgets 等跨平台 GUI 库的 C++)之类的东西相比,使用 AIR 创建桌面应用程序有什么优势?例如,Java 同样能够与服务器通信,但我不太确定 AIR 在桌面开发世界中正面交锋时增加了什么?

【问题讨论】:

    标签: apache-flex air cross-platform desktop-application


    【解决方案1】:

    在我看来,最大的优势是生产力(如果您只对桌面感兴趣)- 例如,与 Java Swing 相比,使用 Flex 构建漂亮的 UI 要快得多(尝试在 Swing 中构建过渡)。此外,Flex4 的新组件允许更轻松地进行组件蒙皮。

    但是(如 Groky 所写),您还应该考虑缺点。如果您写下您计划的应用程序的主要功能并检查它们是如何被各种平台处理的,这将有所帮助。例如,如果需要多线程,则 AIR 是一个糟糕的选择。

    【讨论】:

    • 所以你认为 AIR 是跨平台桌面应用程序的真正竞争者,即使没有网页版可以摇摆东西?
    • +1 易于开发 - UI 以及与远程服务器的通信 - 是 AIR 优于其他桌面平台的关键优势
    • John - 是的,但同样取决于您的应用程序、您的开发团队和许多因素。没有一种尺寸适合所有人。如果您可以编辑您的帖子并添加有关您要构建的内容的更多详细信息,那会容易得多。
    【解决方案2】:

    AIR 继承了 Flash Platform 跨平台和许多尖端移动平台的 10.1 的优点,更不用说 Google 正在积极与 Adob​​e 合作开发适用于 Android 的移动 AIR。这是这里的关键观点,我认为您不会怀疑 Google 的开源平台将会很大这一事实。 Android 设备已经成为增长最快的移动平台。另外,想想即将推出的 Chrome OS。 AIR 会在那里发挥作用吗?我敢打赌。

    IMHO AIR 使跨平台部署丰富的应用程序变得更加容易。丰富的应用程序,如 Flash 平台。

    了解 Wired 在 ePublishing 上与 Adob​​e 的合作。这应该很好地回答了这个问题。

    【讨论】:

    • 但是Java(例如)不能用于跨平台应用程序......即使在这些天在移动设备上?我确实认为移动设备可能更倾向于 AIR,但只有如果您想要移动版本,这个问题(主要)针对桌面应用程序.
    • Java 确实是一个安全的选择,并且与如今的 ActionScript 没有什么不同。下面这些家伙也提到的问题是营业额部署时间。我最近参与了一个 Flex 留言板开发,我们在那里遇到了很多具有挑战性的问题。有些是 3D 的,有些有相当复杂的 align-text-to-curve 开发人员等。如果没有严重的性能挫折,我们实现的视觉吸引力将很难在 Java 中复制。所以我认为这真的是关于你想要实现的目标以及你的应用程序的用途,就像 Cornel 在下面所说的那样。
    【解决方案3】:

    根据我的经验,只有一个优势:

    1. 跨平台

    但是有很多缺点:

    1. 除非安装单独的服务器,否则无法与本机平台通信!
    2. 原生窗口处理非常原始(没有模式对话框!)
    3. 不太成熟(即有缺陷)

    【讨论】:

      【解决方案4】:

      公平的问题。首先,AIR 不是“Flex 的非浏览器版本”或“Flash 的非浏览器版本”ADOBE AIR 是一个运行时,它托管以各种协议(包括 HTML、JavaScript、AS3)创建的应用程序。如果有人愿意的话,像 ADOBE Alchemy 这样的工具会让喜欢 C++/JAVA 的用户将代码编译成 SWC 和 SWF。

      从设计师的角度来看,ADOBE FLASH、DREAM WEAVER 和 FLASHBUILDER 提供了无缝的桌面应用程序开发。虽然从开发人员的角度来看,用于基于 Web 的内容的相同代码可以用于创建桌面应用程序而几乎不需要重新编码。这一切都没有提到利用现有电子商务和基于 Web 的营销 API 和 SDK 的能力;在桌面上为最终用户创建动态智能体验。

      【讨论】:

        【解决方案5】:

        对我和我的公司而言,主要优势在于我们网站上的代码与 AIR 应用程序中的代码相同。这可以是 Flex 应用程序或 HTML/JS 应用程序,但您保留相同的单一代码库。

        AIR 2.0 将解决 Groky 的问题,可以访问本机应用程序、更好的窗口处理以及更少的内存密集型,这导致了 1.0/1.5 中的许多错误。

        如果您还没有 Web 应用程序,并且您没有被锁定在 AS/JS 中,那么没有真正的理由使用 AIR over Java/.Net/PxWidgets...除非您喜欢最新的 Flex 4 组件,相当不错。

        【讨论】:

          【解决方案6】:

          我认为是因为:

          • 跨平台
          • 非常容易开发 - 学习 AS/JS/HTML 比学习 C++/Java/MFC 容易得多。大多数要求都没有那么严格。我为自己开发了许多使用 AIR/Flash 的工具来节省我的工作时间。如果我在 C++ 中这样做,我肯定会浪费更多。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-26
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多