1

我正在开发一些执行生物模拟的程序(只是作为一种爱好,而不是专业),有些程序的计算量非常大——它们需要运行数小时甚至数天才能获得真正有趣的结果。这些程序最终旨在用作教育工具。

我一直在使用 C++(因为它很快)并使用 Qt 作为我的 GUI 框架(因为它是跨平台的)。这意味着我的程序必须通过某种传统方式(exe、应用程序包等)分发。然而,我经常听到我的程序员朋友说,将程序下载为可执行文件是过时的,我应该改为制作 Web 应用程序。

现在,我的真正问题是:是否有可能让一个长时间运行的、计算密集型的程序像 Web 应用程序一样运行良好?需要明确的是,由于我在这个项目上花费的资金有限,并且需要大量的 CPU 能力,因此需要在客户端而不是服务器上完成计算。这样的事情可行吗,还是我应该继续我目前的 C++/Qt 方法?

4

1 回答 1

1

我个人认为打包的可执行文件并没有过时——或者它应该是一个 Web 应用程序。使其成为 Web 应用程序可能会使事情复杂化。

如果您不愿意做服务器端的工作,那么 Web 应用程序将非常有限。我认为唯一可行的方法是:

  1. 纯Javascript。哎呀。对于长时间运行的计算,这将不起作用。如果这个人关闭他们的浏览器,它就结束了。事实上,大多数浏览器都会提示用户长时间运行的 Javascript 进程并建议他们终止它们。

  2. 也许是 Flash 或 Silverlight?客户端代码,但同样的问题......你不得不希望用户不会只是关闭浏览器并因此终止他们长期运行的进程。

您绝对可以使用 Amazon EC2 启动一些便宜的服务器并为它们完成工作 - 这真的很酷。他们可以在发出请求后关闭浏览器,然后稍后重新打开并检查状态。

但如果它必须是客户端 - 使用 C++/Qt。

于 2013-06-04T22:18:59.213 回答