有没有跨平台语言?

3

我需要一种可以在JVM和.NET上运行的东西。如何才能实现最佳选择?

6个回答

4
你看过 IKVM 吗?

IKVM.NET 的终止是在2017年。http://weblog.ikvm.net/CommentView.aspx?guid=33ea525f-a291-418a-bd6a-abdf22d0662b - Ignotus

2

也许是Python?Java可以使用Jython,.NET可以使用IronPython。

另一个选择是Scala,不过我还没有真正尝试过它...


2

Clojure 可以运行在 JVM 和 CLR 上,但是目前在 JVM 上的支持要好得多。


2
有趣的编程语言,它已经在我的学习列表上有一段时间了... 你为什么说JVM支持更好 - 它更可靠吗?支持更多的API吗?.NET支持方面有哪些不足之处? - Arafangion
Clojure 本身就是一门很棒的语言。它还因为与 Java 的出色互操作性而受益良多,大多数库似乎都是针对与 Java 一起工作或仅限于 Java 的。Clojure 的 CLR 版本的开发也往往滞后。尽管如此,仍然可以使用兼容的 Clojure 核心,这是一门非常好的语言,值得学习。 - jberg
+1,那我会把它放在我要学习的语言列表中更靠前的位置。 :) - Arafangion

1

您能更好地描述您的要求吗?如果您需要在不同平台(如Mac、Linux、Windows等)之间移植程序,并不意味着您需要在JVM内部和.NET内部运行它。

例如,如果您使用纯Java,根据定义,在所有这些环境中它都将在特定的JVM内运行,为了在非Windows平台上实现类似的功能,可以使用Mono。

您想对您的程序做什么?


有些平台只支持其中一种编程语言。例如,WP7只支持.net,而Android默认只支持Java(除非你购买MonoDroid,但这也有其缺点)。 - CodesInChaos
实际上,Android并不支持Java。它不支持任何动态字节码,这意味着Jython和其他在JVM上运行的语言将无法工作,Scala /可能/可以工作,但不确定 - 通常它必须明确支持Android使用的任何内容。 - Arafangion

1

Python通过Jython和IronPython可能拥有最好的支持。还有其他语言,如Ruby、Fantom、Scala等,但是.NET支持通常落后于Java。


0

根据我的理解,您想要构建一个客户端应用程序,可以在任何平台上部署和运行。听起来有点像魔法。如果您找到适用于Windows和Android的解决方案,它很可能无法在您需要部署应用程序的下一个平台(iOS?)上运行。

不清楚应用程序的功能或所需的重量,但是如果您将客户端应用程序的所有负载移动到服务器上,则可以快速构建与它们需要运行的平台兼容的轻巧独立的客户端,并且您可以要求服务器执行所有繁重的工作并通过标准协议(如JSON / XML over HTTP)返回结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接