可以使用哪些语言来开发跨平台的便携式应用程序?

时间:2010-12-29 02:13:28

标签: cross-platform portable-applications

可以使用哪些语言开发跨平台的便携式应用程序?

(对于那些评论问题含糊不清的人,我需要这个,因为我想为那些可能需要在没有运行时的大学系统上使用该工具的研究人员开发一个数据库驱动的语料库分析工具(像Air一样安装,也防止用户安装任何东西。)

似乎可以使用JAVA,但说实话,我更愿意避免使用JAVA,因为它非常冗长(我通常使用Perl和Python编程)。

Adob​​e 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 package生成完全独立(可移植)的应用程序。

在Python方面,QtPyside上的快速开发现在可以更轻松地让Python + Qt应用程序在Windows,Linux和OS X上运行。这些应用程序可以包含{PyInstaller。 3}}工具也适用于所有三个平台。

3 个答案:

答案 0 :(得分:1)

如果JVM对您有吸引力(例如,由于跨平台UI),那么除了Java之外您还有其他选择,包括:

  • Groovy,一种动态类型的JVM语言
  • JRuby,Ruby的纯JVM端口
  • Jython,Python的纯JVM端口
  • Scala,一种混合​​功能/ O-O语言,具有强大的类型推理器,比Java更简洁的语法,编译时类型安全性和其他功能。

以上所有内容都可以很好地与现有的Java库进行互操作。所有这些都允许您直接使用Swing UI组件。所有这些都将在任何有JVM的地方运行。

答案 1 :(得分:0)

C用于开发便携式应用程序。

GCC, the GNU Compiler Collection中,C可用于各种平台,GCC也支持交叉编译。

答案 2 :(得分:0)

的JavaScript。 :)当然,然后是浏览器依赖而不是平台依赖...