2012-05-17 22 views
1

我們有可移植的C++源代碼,用於在各種不同的硬件(10多個平臺)上部署遊戲和應用程序。我們現在對部署到Web瀏覽器感興趣。C++面向Web瀏覽器應用程序的前景是什麼?

Chrome有其Native Client體系結構。但是,作爲平臺,我們僅限於Chrome用戶。 是否有任何其他新興標準允許編譯C/C++源代碼並將其定位到Web瀏覽器?

+0

IE有ActiveX。 –

+1

你看過[Wt](http://www.webtoolkit.eu/wt)嗎? – ildjarn

+0

Wt是服務器端@ildjarn。 – Mat

回答

1

這個問題很快就沒有100%的答案。

原因是,沒有一個主要的Web瀏覽器實際上支持像C++一樣運行完全安全的本地編譯代碼。 ActiveX從來沒有完全保證,並且它不是100%知道鉻的適用性,但是然後鉻在用戶空間中做了很多。像編譯好的機器代碼這樣的東西只能從操作系統內核製作的適當的沙箱中真正被信任。

即將推出的Windows 8版本採用了新的沙盒技術,與新的Windows RT編譯器一起將允許瀏覽器中的C++,並且此新代碼得到了適當的保護。

與Linux一起工作的人正在處理不同類型的沙箱,這些沙箱也在內核中受到支持。你可能會看到這些在遙遠的未來作爲對VMS的託管解決方案等,爲Linux瀏覽器沙箱和沙箱......

所以對現在,對C++代碼的解決方案是...

1 )谷歌Chrome應用程序 2)Windows 8的IE 10與新的Windows 8地鐵應用程序等...

你將不得不建立你的所有系統的應用程序,並使用服務器cookie來確定發送到瀏覽器的構建。就像之前有ActiveX和Mozilla Netscape插件一樣。換句話說,即將到來的新插件場景將比ActiveX和Netscape插件更安全(因爲它將被正確的沙盒),但它可能會更昂貴和技術上更多,因爲...

1)有將會是更多瀏覽器定製機器代碼插件的供應商。 2)每個操作系統中的沙箱會稍微有些變化,甚至會有很大的不同。 3)每個操作系統的構建項目將有所不同。 4)您通常很可能必須將應用程序放入應用程序商店。 5)你將不得不通過應用程序商店來驗證應用程序。 6)如果你想支持任何地方,你可能需要支付不同的應用程序商店。

如果供應商使沙盒技術正常工作,那麼很多人會使用它的原因很明顯,但如果有一些類型的客戶端沙盒標準化,這可能需要很多年,這是一個真正的每個人都很難過。但我認爲,如果瀏覽器製造商實施適當的操作系統支持的沙盒,它將是完全安全的,因此許多網絡公司將不再能夠控制你所做的一切。

否則,我可能過度猜測,但那就是我現在對C++和瀏覽器的看法。我的建議,請等待一段時間,並做其他事情。如果沙箱來了,那就這樣吧。

1

Emscripten可以將LLVM位碼(例如由C++中的Clang生成)編譯爲JavaScript。

+0

看起來很有希望。將檢查出來。關注表現,但你永遠不知道... – user48956

相關問題