Adobe AIR应用程序相对于传统桌面应用程序的优势是什么?

时间:2010-06-03 10:31:02

标签: flex air cross-platform desktop-application

我非常熟悉使用Adobe Flex& AS3,与在JS / HTML中编写应用程序相比,我认为它非常酷。但是,由于AIR本质上是Flex的非浏览器版本,具有本地存储等优点,因此它似乎是作为跨平台桌面应用程序平台竞争的......在这个领域,它比成熟的桌面技术要成熟得多。 / p>

那么使用AIR创建桌面应用程序与Java(或使用像wxWidgets这样的跨平台GUI库的C ++)相比有什么优势呢?例如,Java同样能够与服务器进行通信,我不太确定AIR在桌面开发世界中进行竞争时会增加什么?

6 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:6)

AIR在许多前沿移动平台上都采用了Flash平台跨平台和10.1的优点,更不用说Google正在Android移动AIR上积极地与Adobe合作。这是关键的观点,我认为你不怀疑谷歌的开源平台会很大。 Android设备已经成为增长最快的移动平台。另外,想想即将推出的Chrome操作系统。 AIR会在那里发挥作用吗?我打赌它会。

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

了解Wired在电子出版方面对Adobe所做的工作。那应该很好地回答这个问题。

答案 2 :(得分:2)

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

  1. 跨平台
  2. 然而,有许多缺点:

    1. 除了安装单独的服务器之外,不与本机平台通信!
    2. 原生窗口处理非常原始(没有模态对话框!)
    3. 不太成熟(即越野车)

答案 3 :(得分:2)

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

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

答案 4 :(得分:2)

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

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

如果你还没有网络应用程序,并且你没有被锁定到AS / JS,那么就没有理由去使用AIR over Java / .Net / PxWidgets ......除非你喜欢它的外观最新的Flex 4组件,相当不错。

答案 5 :(得分:0)

我认为这是因为:

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