可以使用哪些语言来开发跨平台、可移植的应用程序?
(对于那些评论问题含糊不清的人,我需要这个,因为我想为可能需要在没有运行时的大学系统(如 Air)上使用该工具的研究人员开发一个数据库驱动的语料库分析工具安装,并且还阻止用户安装任何东西。)
使用 JAVA 似乎可行,但老实说,我宁愿避免使用 JAVA,因为它非常冗长(我通常使用 Perl 和 Python 编程)。
Adobe Air 看起来很有趣(还有 Silverlight?),但您似乎只能将 Air 运行时安装程序打包到包含应用程序的包中以进行部署。您可以使用分发工具为 Adobe Air 运行时创建静默安装,但我找不到使 Air 应用程序作为真正可移植的应用程序运行的方法(当尚未安装 Air Runtime 时)。
我已经尝试过 Python(使用 Qt)和 Perl(使用 Tk/Tkx)并且可以创建跨平台应用程序,这些应用程序可以打包成一个自解压可执行文件(在 Windows 上),它将内容复制到某个临时文件夹并从那里运行应用程序. 这些是我现在最好的选择,因为用户不需要知道发生了什么。他们只需双击可执行文件,程序就会运行(没有安装步骤)。但是,让 Qt 在 OS X 上运行是相当困难的,而且 Tk 似乎对于现代 GUI 开发来说太局限了。
我还尝试过 Real Studio(以前称为 Real Basic)和 Runrev Live Code(以前称为 Runtime Revolution)。Real Studio 完全符合我的要求,但该语言存在一些严重的错误,就我而言,这些错误使开发变得不可能。对于任何普通开发人员来说,Live Code 使用一种非常不直观的语言(他们说它很容易学习!),而且它的功能也相当有限。
我已经研究这个问题很长时间了。任何建议都会非常受欢迎。
==更新==
我已经深入研究了这个问题,现在我已经弄清楚了如何使用包含我的代码和 Java JRE 的7zip SFX 包生成完全独立的(便携式)应用程序。
在 Python 方面,Qt和Pyside的快速发展现在使 Python + Qt 应用程序在 Windows、Linux 和 OS X 上运行变得更加容易。这些可以使用也适用于所有三个平台的PyInstaller工具进行包装。