有通用的语言吗?

我们正在devise一个可以在WindowsOSX,iOS和Android上运行的应用程序。 至less大部分代码是用单一语言编写的,而不是必须使用Objective C作为Apple版本,C#或C ++ for Windows,Java for Android。

我们将Flex看作是一种避免为每个版本使用不同语言的方法,但是Adobe已经陷入了困境,从长远来看,这并不能完成这项工作。 Java曾经承诺是普遍的,但它看起来像苹果公司不再支持它作为分布式操作系统的一部分,就我可以告诉微软从来不支持它。 我们不希望我们的用户不得不下载和安装一些东西,以便他们可以使用我们的应用程序。

有解决scheme吗? 或者我们坚持以多种语言构build应用程序?

“全球”语言最有可能使用虚拟机,所以你不能逃避“用户必须下载和安装的东西,只是为了他们可以使用的应用程序”…我认为Java是你最好的选择,如果你不不想处理编译为本机机器码的语言问题。

HTML + CSS + JavaScript!

在标准的Web服务器上运行您的应用程序。 以上所有内容都符合标准的Web浏览器,上述所有支持JavaScript和AJAX。 唯一真正变化的是屏幕大小,这可以通过为每个目标浏览器使用自定义的.css文件来轻松处理。

您可以在服务器上托管Web应用程序,并使用应用程序浏览器与应用程序进行交互。

虽然不是原生应用程序,但所有设备都可以使用它。

缺点是服务器连接将是必需的,但这可能不是一个问题。

可以在所有这些平台上使用C#

  • Windows上的“Normal”.NET
  • 单声道在OSX上
  • Android上的MonoDroid
  • 适用于iOS的MonoTouch

(如果你想为Windows Phone 7编写一个应用程序,你也可以。)

当然UI部分在不同的平台之间将会有很大的变化,我怀疑它会特别的无缝 ,但至少值得考虑。

我不是很确定,但是我听说python是一种通用语言。 我已经试过这个与Mac和Windows,不知道其他plactforms

我相信C ++代码可以在所有这些平台上运行:Windows完全支持它; Android有NDK; 你可以在iOS上使用Objective-C ++(我也假定为OSX)。

我不会去宣称这是最好的选择,但我认为这是值得一提的。

最终很多将取决于你正在开发的应用程序的性质。 如果是大型应用程序,我强烈建议与有经验的人进行详细的咨询:由于不同平台的变幻莫测,这是一个经验非常重要的领域。

有多种选择,取决于您的应用程序要求:

首先 ,Web应用程序,就像之前说过的那样。 这是最大的公约数 – 非常小

其次 ,在c / c ++中构建应用程序的核心,并为接口使用适合您需求的框架。 这些建议真的非常棒。 您甚至可以为每个平台分别开发接口,Java for Android,Objective C for iOS等

不要忘记,从来没有,你将能够使所有平台上运行相同的代码。 总是会有一些部分使用#define MAC#define ANDROID 。 即使是最简单的应用程序,也无法运行相同的代码。

除非是

 void main(void){} 

即使是一个Web应用程序也会有类似的代码

 if(browser()==Safari) {} else {} 

我认为答案取决于你要建立什么样的应用程序。

如果它像Twitter一样,一个好的网络界面就是答案。 每个客户端只需要使用平台自己的语言和lib来处理GUI工作。

如果是游戏,则不与服务器通信。 我更喜欢C和一个像Lua这样的脚本来构建你的应用程序的核心。

“有解决方案吗?或者我们坚持用多种语言构建应用程序?”

不,对此没有解决办法。 我们使用不同的语言,因为他们运行在不同的平台 像HTML这样的通用语言有很多限制因为是普遍的,所以你必须减少所有的差异。 这是所有平台的交集,非常小。

使用HTML和Javascript可能是最好的方法。 在这些平台上运行的另一个选项是Java FX 2.0。