2013-06-03 56 views
1

我工作的一些程序,(专业只是作为一种业余爱好,不是)进行生物模拟,还有一些是非常计算密集的 - 他们需要几个小时甚至几天运行,才可以得到真正有趣的结果。这些程序最终旨在用作教育工具。计算密集型的Web应用程序

我已经在C++(因为它是快)一直致力于和使用Qt作为我的GUI框架的东西(因为它是跨平台)。这意味着我的程序必须通过某种传统方式(exe,应用程序包等)进行分发。然而,我一直听到我的程序员朋友的意见,认为将程序作为可执行文件下载是老式的,我应该改用web应用程序。

现在,我真正的问题:是否有可能使一个长期运行的,计算密集型工作方案以及网络应用?而且要明确的是,由于我在这个项目上花费的资金有限,需要大量的CPU资源,因此计算需要在客户端完成,而不是在服务器上完成。这样的事情是否可行,还是应该继续使用我当前的C++/Qt方法?

回答

1

我个人不认为打包可执行程序是不时兴了 - 或者,它应该是一个Web应用程序。使其成为一个Web应用程序可能会让事情变得复杂。

如果你不愿意做的工作服务器端,那么Web应用程序将是非常有限的。我能想到的唯一的东西是可行的:

  1. 纯Javascript。让人惊讶。对于长时间运行的计算,这是行不通的。如果该人关闭浏览器,则结束。实际上,大多数浏览器会提示用户长时间运行Javascript进程,并建议他们杀死它们。

  2. 也许Flash或Silverlight?客户端代码,但也是同样的问题...你不得不希望用户不会只关闭浏览器,从而杀死他们长时间运行的过程。

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

但如果它是客户端 - 去与C++/Qt的。

相关问题