Duetto用于 Web 的 C++ 編譯器
Duetto通過允許編程人員做如下的事情,來組合emscripten和node.js的優(yōu)勢:
- 用C++編寫web應(yīng)用,重用現(xiàn)有的代碼,并且使得移植到瀏覽器的應(yīng)用和游戲看起來和原生應(yīng)用一樣;
- 用同一種語言和代碼庫編寫web應(yīng)用的前端和后端
另外,duetto提供一些非常好的特性:
- 為web帶來C++編程的魯棒性和經(jīng)過驗證的可擴(kuò)展性
- 你可以直接調(diào)用所有瀏覽器的APIs。Duetto繼承了C++暴露平臺能力(以及限制)給用戶的理念。不存在任何的中介;
- Duetto是基于LLVM/clang的。工業(yè)標(biāo)準(zhǔn)的C++編譯器是程序員最好的朋友:代碼合理性在編譯時被檢查,其中包括RPC(遠(yuǎn)程過程調(diào)用)簽名;
- LLVM工具鏈同樣保證了在編譯時運行了一堆令人興奮的優(yōu)化,從而產(chǎn)生高效率的代碼。這會降低JavaScript的JIT編譯器在運行時的負(fù)擔(dān);
- 與emscripten,我們沒有嘗試用類型化數(shù)組去模擬一個傳統(tǒng)的地址空間,而是直接將C++的對象映射到JS對象。這降低了內(nèi)存開銷,因為垃圾回收器可以刪除沒有被使用的對象。
評論
圖片
表情
