有谁知道具有以下属性的良好软件开发框架或类似框架?
- 跨平台:应该可以在 XP、Vista、OSX 和常见的 Linux 版本(如 Ubuntu 和 Kubuntu)上运行。
- 无需安装:能够从 U 盘运行软件,而无需将任何内容复制到主机。
- 有良好的 GUI 支持(这就是为什么这个问题没有给出合适的答案,据我所知)。
- 许可许可,例如 LGPL 或 BSD 等。
较软的要求包括为最常见的后端功能提供一组抽象,例如套接字、文件 IO 等(通常需要一些特定于平台的适应),并支持良好的语言,例如 Python 或 C++,不过学习一个新的(即不是 perl)通常很有趣。
我认为可能的候选人是 Qt 4.5 或更高版本(但如果没有任何安装,IFAIK Qt 软件将无法在 Vista 上运行(?)),一些 wxWidgets 或 wxPython 解决方案,也许是 gtkmm。我发现的示例在其中一项或多项要求上都失败了。这并不意味着不存在这样的例子,它只是意味着我没有找到任何例子。所以我想知道是否有人知道任何现有的解决方案?
一些说明;
- “框架”是指带有小部件包的 Qt 或 gtkmm 或 python。
- 这是关于能够在多个平台上运行成品,从一根棍子,无需安装,而不是拥有一个可移植的开发环境。
- 它不是启动棒。
- 如有必要,可以专门为不同的目标构建软件。
我看到的用例是您拥有一些您依赖的软件(例如项目规划、信息管理、分析工具或类似工具):
- 不依赖于互联网连接可用。
- 在不同的主机上运行,安装任何东西都不是很好。
- 由用户通过物理介质(如 U 盘)移动。
- 在不同的操作系统上运行,例如 Windows、Vista、Ubuntu、OSX。
- 在这些不同的主机上处理相同的数据(数据可以存储在主机上或存储棒上)。
- 捆绑框架的大小并没有真正受到限制(除非它是几千兆字节,这不太现实)。
只要软件行为相同并且在不同目标上运行时可以处理相同的数据,在棒上进行并行安装也是可以的。
对用例的不同看法是,我面前有五台新安装的机器,分别是 Vista、XP、OSX、Ubuntu 和 Kubuntu。我想,无需在机器上安装任何新东西,就能够在这五台机器上的每台机器上从单个 USB 记忆棒(满足上述 GUI 要求等)运行相同的软件(不过,如果有必要,从不同的捆绑在棍子上)。
这可能吗?
编辑:我对使用一些小部件和 sqlite 数据库的 Qt 应用程序进行了一些试验。很容易让它在 ubuntu dist 和 osx 上工作。对于 windows xp 和 vista,我必须将 QtCored4.dll、QtGuid4.dll、QtSqld4.dll 和 mingwm10.dll 复制到分发目录(这是调试代码),并将 qsqlited4.dll 复制到分发中名为“sqldrivers”的文件夹中目录。