简单的跨平台GUI应用程序

时间:2010-04-09 19:35:45

标签: java scala groovy mono cross-platform

我想知道是否有任何方法可以构建一个非常简单的GUI应用程序(它甚至不需要看起来很好),它将在 Windows Vista和OS X ,用户无需其他安装。我不愿意使用Java(只是出于个人编程偏好)。如果这是唯一的方法,我会用它。特别是,我想知道我是否可以使用 Scala或Groovy 编写一个swing应用程序并在Windows上运行而无需安装任何东西。很抱歉,如果这是一个愚蠢的问题,我是Obj-C的开发商。

7 个答案:

答案 0 :(得分:4)

您可以将Scala罐装入您自己的罐子中,只要安装了Java(通常是在第三方供应商安装的Vista或OS X上),它就可以正常工作。如果使用Java Web Start,则除Java本身之外不需要任何安装。另外,如果您要安装自己的代码,为什么不直接复制Scala广告?

如果你的意思是全新安装 - 除了操作系统提供的内容之外什么都没有 - 那么不,我不这么认为。

编辑:你总是在浏览器上有javascript。我认为这不会因为你想要的而削减它吗?

答案 1 :(得分:3)

如果你真的,真的不想安装任何东西(或在你的应用程序中携带任何东西),那么将应用程序编写为web应用程序(可能是一个javascript应用程序)。然后,任何用户都可以从具有良好浏览器的任何计算机上运行该UI。但是,这需要 在某处托管应用。

如果这不是一个选项,你可以将你的应用程序开发为一个单独的html / xhtml文件,其中包含一个独立的,可自我修改的javascript应用程序(如TiddlyWiki,我经常使用)。然后用户用户可以在他的机器上下载,将他的浏览器指向它并瞧。

如果你将javascript与HTML5结合起来(假设用户有像safari这样的HTML5兼容浏览器),你的应用程序可以使用localStorage将其状态保存在用户的机器中(因此不再需要自我修改以保存状态为TiddlyWiki确实。)

但这会破坏你不在用户主机上下载任何东西的规则。由于每个操作系统都实现了自己的一组应用程序库,因此这是一个鸡与蛋的问题没有解决方案。对于多平台支持, 必须 使用一个抽象出操作系统之间差异的层,无论是vm(如JVM,Ruby还是Mono)还是一组库(Qt,Gnome)。

答案 2 :(得分:1)

据我所知,你无法用用户不需要其他安装来实现这一目的。如果你违反了这个限制,单声道(带有gtk#)是个不错的选择。

答案 3 :(得分:1)

Scala和Groovy将具有与Java相同的部署问题;所有这些都需要安装JVM。您通常必须首先安装JVM(Windows不包含),然后安装您的程序。但是,Java包含在OS X中。

可以使用Ruby或Python以及其中一个跨平台库(如wxWidgets)并将其编译为包含整个运行时库集的可执行文件(例如,所有ruby和python)。

答案 4 :(得分:1)

REAL Studio(正式REALbasic)肯定符合这一要求。它创建了对OS X和Windows(以及Linux)没有外部依赖关系的本机应用程序。

答案 5 :(得分:0)

理论上,您可以使用Mono编写.net应用程序,它应该在安装了.net运行时环境的任何其他应用程序上运行时没有问题。

但我不确定它是否适用于练习。

答案 6 :(得分:0)

我在XulRunner上取得了一些成功

我问过这些问题还有一些建议

Building Cross Platform app - recommendation

Building XUL app a-la SongBird

一旦你进入它,XULRunner就会非常酷,但是一开始就有点令人困惑(我想)...... mozilla谷歌团队的人们非常友善和乐于助人!