Wasmer發佈GA版本的WebAssembly運行時

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Wasmer最新發布了"},{"type":"link","attrs":{"href":"https:\/\/medium.com\/wasmer\/wasmer-1-0-3f86ca18c043","title":null,"type":null},"content":[{"type":"text","text":"WebAssembly服務器端運行時1.0版"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",由此形成了一般可用(GA)版。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/wasmer.io\/","title":null,"type":null},"content":[{"type":"text","text":"Wasmer"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"提供了基於"},{"type":"link","attrs":{"href":"https:\/\/webassembly.org\/","title":null,"type":null},"content":[{"type":"text","text":"WebAssembly"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(簡稱Wasm)的超輕量級容器。該系列產品的啓動可回溯至兩年多前推出的0.1.0版,此次發行的1.0版是一個重要的里程碑標誌,體現了Wasm對服務器端的日益關注。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Wasmer 1.0版的主要功能包括:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"多項性能改進:編譯速度比之前的版本提高了9倍。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"可插拔的架構:支持多種編譯器和編譯引擎。Wasmer不僅對"},{"type":"link","attrs":{"href":"https:\/\/github.com\/wasmerio\/wasmer\/tree\/master\/lib\/compiler-singlepass","title":null,"type":null},"content":[{"type":"text","text":"Singlepass"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"、"},{"type":"link","attrs":{"href":"https:\/\/github.com\/bytecodealliance\/wasmtime\/tree\/main\/cranelift","title":null,"type":null},"content":[{"type":"text","text":"Cranelift"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"和"},{"type":"link","attrs":{"href":"https:\/\/llvm.org\/","title":null,"type":null},"content":[{"type":"text","text":"LLVM"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"提供開箱即可用的支持,而且支持JIT引擎和原生引擎兩種編譯模式。JIT引擎將生成代碼直接推送到內存,原生引擎在磁盤上生成原生代碼。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"原生對象引擎:Wasm模塊可預編譯爲原生對象。原生對象在提供完全沙箱環境的同時,通過編譯的模塊僅需要最小運行時即可運行。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"無頭(headless)Wasmer:用戶可運行一種專門針對輕量級IoT設備的“無頭”版Wasmer。無頭版僅有幾百KB大小,支持在任一設備上運行預編譯的Wasm二進制文件。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"交叉編譯:可以在任意CPU架構上針對其他的目標CPU架構進行Wasm的預編譯。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Wasm是一種面向基於堆棧(stack-based)虛擬機的二進制指令格式。它的設計目的是能夠讓不同的編程語言生成可移植的編譯目標產出,支持在Web客戶端和服務器端應用上進行部署。Wasm已受到Web應用開發的廣泛關注。開發人員使用Wasm替代或補充傳統的JavaScript代碼,並且大多數現代瀏覽器支持開箱即可用地執行Wasm。可編譯爲Wasm的編程語言正不斷增加,其中包括C\/C++、Rust、C#等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"隨着WebAssembly在瀏覽器中廣泛使用,出現了一些服務器端Wasm實現。Wasmer的CEO Syrus Akbary介紹了服務器端Wasm運行時的重要性:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們相信,WebAssembly未來將成爲執行軟件和容器化的重要組件,不僅在瀏覽器內部,而且在瀏覽器之外。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"通過將Wasm引入軟件容器化,我們創建了無需修改即可隨處運行的通用二進制文件,支持Linux、MacOS、Windows等操作系統,以及多種瀏覽器。出於執行安全上的考慮,Wasm默認自動化沙箱應用,保護主機環境免受惡意代碼、軟件缺陷和所運行軟件的安全漏洞的威脅。Wasm還提供了緊湊的執行環境,使得Wasmer容器可在使用Docker容器顯得過於重量級的場景中運行。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Wasm服務器端運行時實現了"},{"type":"link","attrs":{"href":"https:\/\/wasi.dev\/","title":null,"type":null},"content":[{"type":"text","text":"WebAssembly System Interface"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(WASI)。WASI是WebAssembly的模塊化系統接口,支持Wasm代碼訪問文件系統、網絡等操作系統的特定服務,這通常在瀏覽器中是不允許的。Docker的聯合創始人Solomon Hykes曾於"},{"type":"link","attrs":{"href":"https:\/\/twitter.com\/solomonstre\/status\/1111004913222324225?lang=en","title":null,"type":null},"content":[{"type":"text","text":"2019年發推文"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"指出:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果早在2008年就推出了WASM+WASI,那麼我們就沒有必要創立Docker。Wasm就是這麼重要。服務器端WebAssembly是計算的未來,雖然還缺少標準化的系統接口。期待WASI提上日程!"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Wasmer使用"},{"type":"link","attrs":{"href":"https:\/\/www.rust-lang.org\/","title":null,"type":null},"content":[{"type":"text","text":"Rust"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"編寫,是一個流行的Wasm服務器端運行時的"},{"type":"link","attrs":{"href":"https:\/\/github.com\/wasmerio\/wasmer","title":null,"type":null},"content":[{"type":"text","text":"開源實現"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。做爲Wasmer的支撐企業,Wasmer Inc還推出了"},{"type":"link","attrs":{"href":"https:\/\/wapm.io\/about","title":null,"type":null},"content":[{"type":"text","text":"WebAssembly軟件包管理器"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"WAPM。使用WAPM,開發人員可以輕鬆地分享Wasm代碼的打包模塊。Wasmer運行時的同類產品還包括SSVM("},{"type":"link","attrs":{"href":"https:\/\/www.secondstate.io\/ssvm\/","title":null,"type":null},"content":[{"type":"text","text":"Second State Virtual Machine"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":")和"},{"type":"link","attrs":{"href":"https:\/\/bytecodealliance.github.io\/lucet\/","title":null,"type":null},"content":[{"type":"text","text":"Lucet"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"原文鏈接:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.infoq.com\/news\/2021\/01\/wasmer-generally-available\/","title":null,"type":null},"content":[{"type":"text","text":"The \"Wasmer\" WebAssembly Runtime is Generally Available"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章