使用Adobe Air / Java而不是平台特定语言编写Web应用程序的优点/缺点?

时间:2009-06-09 19:42:06

标签: c# java macos web-applications air

我需要为windows和mac编写一个Web应用程序(也可以脱机工作)(或者也许是linux)。

我想知道我是否应该使用像air / flash / java这样的东西,优点是我只需要编写一次应用程序。

但是,我想知道这样做是否有任何缺点,而不是用c#专门用于windows,然后用Objective-C / cocoa /用于mac。如果我在Air / Java中这样做,应用程序的功能是否会受到限制?用特定于平台的语言编写它有什么好处吗?

如果可能的话,最好知道这两种方法的优点/缺点是什么,因为它可以帮助我(并希望其他人)根据需要决定创建这样一个应用程序的最佳方法。

任何帮助将不胜感激!感谢。

2 个答案:

答案 0 :(得分:2)

首先要意识到的是,在每个目标平台上编写看起来和行为原生的跨平台应用程序是一件很难的事情。

使用跨平台工具包(AIR / java):

  • 理论上应该更快地建立
  • 通用语言和工具包,只需要学习一件事
  • 添加新支持的平台应该很容易(ish),构建安装程序,调试提供任何本机平台集成等。
  • 存在仅实现最小公分母特征的趋势。这方面的一个例子是java File api。它只支持文件的基本概念,其中Windows,OSX和linux都有添加
  • 可能仍需要特定于平台的集成代码(可能是本机代码)才能获得可接受的集成级别。

使用原生工具包:

  • 要学习很多东西,在Windows MFC(或.Net winforms)和Cococa之间移动将会非常激动
  • 您不仅拥有不同的语言,还拥有不同的工具
  • 使用本机工具包可以实现的内容没有限制或错误的上限可以让您访问所有内容
  • 让您的应用看起来像是属于平台(对于Mac来说很重要)几乎是开箱即用的

个人推荐:使用您最熟悉的语言工具包,具体取决于您的应用程序的厚度(您在网上提到它的部分),一旦您成功申请,您可以用另一种语言重写它。 / p>

答案 1 :(得分:0)

很大程度上取决于您将要编写的应用程序类型。我将Adobe AIR用于许多内部工具。

如果你为AIR写作,你会得到的东西就像一个网页。这很好,因为人们觉得在家里操作一个浏览器界面 - 可能在家里比在原生应用程序中更多。

但是,是的,你绝对会受到限制。

那你的应用是什么?