是否有人知道具有以下属性的良好软件开发框架或类似内容?
其中较为柔和的要求是对最常见的后端功能进行一组抽象,例如套接字,文件IO等(通常需要一些特定于平台的调整),并支持Python等优秀语言或C ++,虽然学习一门新课程(即不是perl)通常很有趣。
我认为可能的候选人是Qt 4.5或以上(但IFAIK Qt软件不会在没有任何安装的情况下在Vista上运行(?)),一些wxWidgets或者wxPython解决方案,也许是gtkmm。我发现的例子在一个或另一个要求上失败了。这并不意味着没有这样的例子,只是意味着我没有找到任何例子。所以我想知道是否有人知道有任何现有的解决方案吗?
一些澄清;
我看到的用例是你有一些你依赖的软件(如项目规划,信息管理,分析工具或类似工具):
只要软件的行为相同,并且在不同目标上运行时可以处理相同的数据,也可以在摇杆上进行并行安装。
对用例的另一种看法是,我有五台新安装的机器,分别是Vista,XP,OSX,Ubuntu和Kubuntu。我想,无需在机器上安装任何新东西,就可以在这五台机器中的每一台机器上运行相同的软件(满足上述GUI要求等)(但如果需要,可以从不同的机器上运行)在棍子上捆绑。)
这可能吗?
编辑: 我用一个使用一些小部件和一个sqlite数据库的Qt应用程序进行了一些实验。很容易让它在ubuntu dist和osx上工作。对于Windows XP和Vista我不得不将QtCored4.dll,QtGuid4.dll,QtSqld4.dll和mingwm10.dll复制到分发目录(这是调试代码),我将qsqlited4.dll复制到分发中名为“sqldrivers”的文件夹中。目录
答案 0 :(得分:4)
您提及wxWidgets但忽略其中至少有一项要求失败。
我不知道您的要求是什么以及wxWidgets以何种方式对您不起作用,但IMO确实满足了它们的要求:
跨平台:它应该可以在XP,Vista,OSX和Linux的常见版本上运行。
它确实在这些平台上运行,但“Linux的常见版本”还不够好,因为你永远无法确定是否会安装wxGTK(不应该静态链接)所需的GUI库。然而,对于其他解决方案来说,这也是一个问题,除非您打算将所有放在棒上。
无需安装:无需将任何内容复制到主机即可从USB记忆棒运行软件。
请参阅上一点,您需要指定Linux上需要哪些库。您还可以在构建时指定不使用某些系统提供的库(例如图形,压缩,正则表达式),而是使用wxWidgets内部库。
拥有良好的GUI支持
检查。
允许许可,例如LGPL或BSD等。
检查。您也可以将wxWidgets静态链接到您的应用程序中。
支持Python或C ++等优秀语言
支持两者,并且还存在与其他语言的绑定。
为最常见的后端功能提供一组抽象,例如套接字,文件IO等
它确实有一些类似的抽象,但您也可以链接到其他跨平台库。
我们将wxWidgets用于FlameRobin,这是Firebird SQL服务器的图形管理程序。它具有Windows,Linux和Mac OS X的活动端口,并且已经为至少一些BSD变体和Solaris编译。它肯定是在Windows上运行,我没有尝试使用Linux或Mac OS X,但我不明白它为什么不应该在那里。
答案 1 :(得分:4)
它有GUI支持。
它提供您的网络/文件/等。抽象。
这是跨平台的。您可以想到的大多数平台都有可用的JRE。
无需安装JRE。大多数用户可能已经有一个,如果没有,你可以直接运行相应的JRE。
您可以为各种平台提供多个启动脚本,以便在相应的JRE下运行应用程序。
答案 2 :(得分:3)
要考虑的其他事情是HTML + Javascript。 :d
答案 3 :(得分:2)
您可以查看Mono跨平台,有GUI(GTK +或Winforms 2.0),我可以在不安装的情况下执行代码。
答案 4 :(得分:1)
这可能不是跨平台,但可能更好,它甚至不使用平台:linux on a stick: - )
副标题是
使用USB密钥随身携带Java工作区
这里有java和eclipse,但当然没有什么能阻止你。
http://knol.google.com/k/inderjeet-singh/installing-a-ubuntu-hardy-heron-java/1j9pj7d01g86i/2#
答案 5 :(得分:0)
嗯,这取决于'包'的含义。 Kylix差不多就是这样的事情。这是基于QT的,它允许你编写一次并编译为Windows + Linux。但是,它不是一个开源解决方案。
答案 6 :(得分:0)
我在这个链接中问了一个类似的问题 http://www.24hsoftware.com/DevelopersForum/CrossPlatform-C-Library.html 最好的asnswer似乎是QT。
我已经开始使用QT,但它并不像我预期的那么容易,主要是由于DLL地狱,Winsxs地狱和明显的地狱导致的部署问题。
答案 7 :(得分:0)
Tclkit是一个单独的自包含Tcl / Tk系统。我的mac版本大约是3.8兆。您可以获得几乎任何现代操作系统的版本。我带着一个有mac,windows和linux二进制文件的拇指驱动器,所以我可以在任何平台上运行我的脚本。无需安装,只需将文件复制到任何地方即可。
tcklit的最新版本使用原生的主题小部件(但是,在* nix上确实没有一个“本机”小部件集......)