1

我的任务是在一些非常严格的约束下创建桌面应用程序。该应用程序的第一个版本很小,仅用于某些特定任务,但似乎该应用程序很受欢迎,因此我被要求对其进行大量改进。

我创建的初始应用程序是使用大量 javascript 和 jquery 制作的 hta,使用 XML 存储信息(通过 MSXML2.3.0),但增加的数据量让我认为它无法跟上要求,所以我想在更坚实的基础上重新制作应用程序。当然,我宁愿保持界面与我已经展示的内容或多或少保持一致,而且我宁愿不必重写所有代码。

限制如下:

- 桌面应用程序。我无法开发 Web 应用程序,因为没有一台目标计算机具有可靠的 Internet 连接。

-无需安装(复制和粘贴文件夹应该可以工作,并且应该保持所有数据一致)。

- 应该是相对多平台。我所掌握的关于目标机器的唯一信息是它们都具有 Windows XP 操作系统或更新版本、MS Office 2003 套件或更新版本,以及某种 PDF 阅读器。

- 应该能够嵌入和显示不同的文件类型,例如不同的图像格式、pdf 和办公文档。也就是说,对于办公文档,只要我可以链接到文档并通过实例化一个常见的 MS Word/Excel/wathever 应用程序打开它,它就足够了,尽管与套件的互操作性会很好。

我一直在网上搜索,我发现了一些有趣的选项,但我不确定它们。

一方面,我认为 XML 将无法跟上,尽管我想如果我通过几个 xml 文件分发数据,我可以让它工作。我一直在阅读有关开源嵌入式数据库(例如 SQLite)的信息,看起来这可以工作。

另一方面,我觉得如果应用程序不断增长,我正在使用的 hta 基础将无法正常工作。我检查了很多替代方案,但它们都给我带来了一些问题。

Cappuccino 或 Chromeless 看起来不错,但它们都需要一定程度的 HTML5,我不能确定机器的浏览器是否支持足够。此外,Cappuccino 的 NativeHost 似乎仅适用于 Mac OSX。Xul 看起来很有趣,但无法使用。

我发现的另一个选择是将应用程序移植到 Qt,但我不知道将应用程序移植到 Qts 有多难,而且看起来我只能使用嵌入 MS Office 应用程序所需的 ActiveX 和专有执照。虽然这相对不那么重要,但我确信将来我会想要包含这些功能。

这就是我的立场。你认为保持 hta + XML 架构(或其任何变体)仍然可以工作吗?我提到的任何替代方案是否可行?你知道还有其他选择吗?

4

0 回答 0