我正在研究一些进行生物模拟的程序(只是作为一种爱好,而不是专业),有些程序非常耗费计算 - 他们需要运行几个小时甚至几天才能获得真正有趣的结果。这些计划最终旨在用作教育工具。
我一直在使用C ++(因为它很快)并使用Qt作为我的GUI框架(因为它是跨平台的)。这意味着我的程序必须通过某种传统方式(exe,app bundle等)进行分发。但是,我一直听到程序员朋友说下载程序作为可执行文件是老式的,我应该改为制作网络应用程序。
现在,对于我真正的问题:是否可以将长时间运行,计算密集型的程序作为Web应用程序运行?需要明确的是,由于我在此项目上花费的资金有限,并且需要大量的CPU功率,因此需要在客户端上进行计算,而不是在服务器上进行。这样的事情是否可行,或者我应该继续使用我当前的C ++ / Qt方法?
答案 0 :(得分:1)
我个人认为打包的可执行文件不会流行 - 或者它应该是一个Web应用程序。将其作为Web应用程序可能会使事情复杂化。
如果您不愿意做工作服务器端,那么Web应用程序将非常有限。我认为唯一可行的方法是:
纯Javascript。让人惊讶。对于长时间运行的计算,这是行不通的。如果该人关闭了他们的浏览器,它就结束了。事实上,大多数浏览器会提示用户有关长时间运行的Javascript进程并建议他们杀死它们。
也许Flash或Silverlight?客户端代码,但同样的问题......你不得不希望用户不只是关闭浏览器,从而杀死他们长时间运行的过程。
你绝对可以使用Amazon EC2启动一些便宜的服务器并为它们完成工作 - 这真的很酷。他们可以在发出请求后关闭浏览器,然后再重新打开它并检查状态。
但如果它必须是客户端 - 请使用C ++ / Qt。