2013-06-03 54 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的。

相關問題