我需要为 Windows 和 Mac(也许还有 Linux)编写一个 Web 应用程序(也可以离线工作)。
我想知道我是否应该使用像air/flash/java 这样的东西,优点是我只需要编写一次应用程序。
然而,我想知道这样做是否有任何缺点,而不是专门用 c# for windows 编写,然后用 Objective-C/cocoa/whatever for mac 编写。如果我在 Air/Java 中执行该应用程序的功能是否会受到限制?使用特定于平台的语言编写它有什么优势吗?
如果可能的话,很高兴知道这两种方法的优点/缺点是什么,因为这将帮助我(也希望其他人)根据自己的需求决定创建此类应用程序的最佳方法。
任何帮助将非常感激!谢谢。
首先要认识到的是,编写在每个目标平台上都具有原生外观和行为的跨平台应用程序是一件很难的事情。
使用跨平台套件(AIR/java):
- 工作量更少,理论上应该可以更快地构建
- 通用语言和工具包,只需学一件事
- 添加新的支持平台应该很容易,构建安装程序,调试提供任何本机平台集成等
- 有一种趋势是只实现最低公分母功能。 java File api 就是一个例子。它只支持文件的基本概念,而 Windows、OSX 和 linux 都有附加功能
- 可能仍然需要特定于平台的集成代码(可能是本机的)以获得可接受的集成级别。
使用本机工具包:
- 有很多东西需要学习,在 Windows MFC(或 .Net winforms)和 Cococa 之间移动将会非常困难
- 您不仅会拥有不同的语言,还会拥有不同的工具
- 使用本机工具包可以实现的目标没有限制或虚假上限,让您可以访问所有内容
- 让您的应用程序看起来像是属于该平台(对于 Mac 来说很重要)几乎是开箱即用的
个人建议:使用您最了解的语言工具包,具体取决于您的应用程序的厚度(您提到它是在线的一部分),一旦您成功申请,您可能可以用另一种语言重写它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)