2011-08-27 32 views
5

是否有任何工具可以在標準Web瀏覽器上運行用QT編寫的C++應用程序?它的C++應用程序必須從網頁運行,做一些數學計算並將結果返回到網頁。如何在網頁上運行C++應用程序?

+1

是否要在JavaScript中嵌入C++代碼(使用C++到JavaScript的編譯器,如[Emscripten](http://stackoverflow.com/a/14900915/975097)),還是要使用瀏覽器插件呢? –

回答

-3

也許你可以將代碼嵌入到ActiveX控件中。

+0

ActiveX不是一個跨平臺的工具。這對我來說很敏感。 – lexl

+2

看完所有其他評論後,似乎你想要一個corss平臺和跨瀏覽器解決方案。所以唯一的選擇是將C++代碼翻譯成Javascript。如果你的代碼只是做一些數學運算,應該可以把它翻譯成Javascript。 –

+0

問題是我的應用程序對執行時間很敏感。它是一個實時視頻處理器,具有很多數學算法,並廣泛使用第三方C++庫。將我的應用程序轉移到Javascript框架來完成這個數學是不可能的。但是,再次感謝你。 – lexl

2

你不能。當然,您可以使用C++將服務器端編寫到Web應用程序中,但Qt GUI框架僅適用於在其所運行的計算機上顯示其用戶界面的應用程序。 (在遠程X11連接等情況下通常需要注意,但這對您的Web應用程序無助)。

+0

是否有可能通過JavaFX或類似的東西在C++應用程序和Web瀏覽器中進行可視化部分展示? – lexl

+0

您當然可以在服務器端使用C++進行計算,並通過Web界面顯示結果。你甚至可以使用Qt的非GUI部分來構建你想要的C++應用程序,但是你不能使用Qt GUI來進行用戶交互。我不清楚JavaFX會向您購買什麼;一個普通的基於JavaScript的客戶端用戶界面(在服務器上生成圖形等,並將它們作爲PNG傳輸)將非常簡單。 –

+0

在我的情況下,重要的是在客戶端放置用C++編寫的計算代碼,並且它的應用程序必須像智能客戶端i那樣工作。 Ë: 提供的應用程序通過Web HTTP連接 不需要安裝(或提供自動安裝) 無需用戶操作 自動更新了桌面應用程序的外觀和感覺 現在有幾個平臺,建立這樣的應用程序:需要Adobe Flash ,JavaFX和Silverlight。JavaFX僅適用於我的目的,但我不知道是否可以將它與C++計算代碼捆綁在一起。 – lexl

8

退房NaCl (Native Client)。沒有Qt,但你可以使用C++。

+4

實際上有: http://labs.qt.nokia.com/2010/06/25/qt-for-google-native-client-preview/ 但我不知道它有多成熟。 –

+0

有趣的鏈接(+1)。它真的可用嗎? – Jiri

+0

雖然chrome確實具有此功能,並且高級程序員可以從中受益...我不知道這個答案有助於OP。 –

1

我已閱讀有關這樣的示例應用程序。我想你可以搜索這個術語「Qt WebKit混合應用程序」。在那個例子中,用戶界面是用HTML和Javascript編寫的,後端用C++編寫。甚至,C++對象的所有權可以轉移到Javascript。我不確定我是否正確,但我是部分正確的。編輯: 這是鏈接。 https://developer.qt.nokia.com/wiki/Server-Driven_UI_with_Hybrid_QtWebkit

+0

謝謝你的回答。 Qt WebKit的使用是相反的解決方案,因爲它允許Web內容與C++集成並通過Qt框架執行。但我想在網頁上執行C++代碼。 Qt WebKit並不是我所期望的,但我把這個工具視爲妥協。 – lexl

1

可以使用Emscripten將C++代碼編譯爲JavaScript,然後從JavaScript調用編譯後的C++函數as explained here。這將允許您在Web瀏覽器或其他JavaScript環境中運行C++代碼,而無需任何額外的插件。

相關問題