第 55 期 Go&WebAssembly 簡介
文章來自於:https://reading.developerlearning.cn/reading/55-2019-08-15-go-webassembly-guide/
分享者: 柴大
觀看視訊
Go 夜讀第 55 期 Go&WebAssembly 簡介
WebAssembly 簡介 WebAssembly 是一種新興的網頁虛擬機器標準,它的設計目標包括:高可移植性、高安全性、高效率(包括載入效率和執行效率)、儘可能小的程式體積。
根據 Ending 定律:⼀切可被編譯為 WebAssembly 的,終將被編譯為 WebAssembly。
本次分享 Go&WebAssembly 相關的用法。
分享時間
2019-08-15 21:00:00
分享平臺
zoom 線上直播 - https://zoom.us/j/6923842137
更多討論
FelixSeptem:補充一下 go 官方給的 wiki https://github.com/golang/go/wiki/WebAssembly 以及 WebAssembly 官網 https://webassembly.org/ 個人比較傾向於對於 https://github.com/gopherjs/gopherjs 來比較理解,相對於 go->js (包括 react 等等) 的方案,WebAssembly 帶來的異同是什麼?
chai2010 :@FelixSeptem wasm 和 gopherjs 最大的差異:wasm 是官方支援,同時 wasm 是國際標準是其它語言認可的中間格式。
以前雖然很多工具輸出 js,那是因為沒有 wasm 可以選擇。 現在有了 wasm,大家肯定只支援 wasm 而逐漸弱化 js 的支援。 畢竟 wasm 虛擬機器實現比 v8 簡單多了,效能又可以秒殺 js。
wasm 最大的潛力是在瀏覽器之外,甚至可以想象成一個輕量化的 Docker 環境。 我覺得這個才是 wasm 真正有意思的地方,wasm 對於 js 完全屬於降維打擊。
changkun:還沒有在生產環境使用過 wasm。從給的馬里奧的例子來看,go wasm 本質上是分發由 Go 編譯好 .wasm,而 Go 端的本質就是提供了一些能夠解釋為 wasm 的 utils。不太清楚會不會在分享中提及這一本質。
長遠來看,這個 .wasm 檔案在特性支援的情況下最終會包含完整的 Go 執行時, 但 go wasm 並沒有明確在 web 場景下為什麼一定需要它,當然不可否認它的確為相容並移植 Go 程式碼來發展 web 應用帶來了便捷,但前提是我們必須有足夠多基礎設施是基於 Go 的,但遊戲並沒有,非常希望看到一些能夠說服用 Go 寫 wasm 而不是其他語言(C/C++ 有著豐富的圖形資產,而 Go 在這方面的積累為 0,甚至連馬里奧的例子都是依賴一個 cgo 對 c sdl2 renderer 的封裝)編譯 wasm 的論點。
參考資料
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- 每週分享第 55 期
- 第 23 期 Drone 簡單介紹和部分原始碼分析原始碼
- 第 54 期 TiDB SQL 相容性測試工具簡介TiDBSQL
- HelloGitHub 開源月刊(第 55 期):終端“百戰天蟲”,來戰?Github
- 零零信安-D&D資料洩露報警日報【第55期】
- 第56篇 docker簡單介紹Docker
- React元件和生命週期簡介React元件
- Vue生命週期鉤子簡介Vue
- 第68篇 jwt的簡單介紹JWT
- 第64篇 Kubernetes的簡單介紹
- 第70篇 AOP的簡單介紹
- 第1章 Oracle資料庫簡介-RMOracle資料庫
- 第1章 Oracle資料庫簡介-DBMSOracle資料庫
- 《MySQL 入門教程》第 01 篇 MySQL 簡介MySql
- 第72篇 跨域的簡單介紹跨域
- Servlet簡介及其生命週期詳解Servlet
- 簡單的介紹 Eloquent 模型生命週期模型
- 安全軟體開發生命週期簡介
- 第73篇 IdentityServer4的簡單介紹IDEServer
- 前端每週清單第 55 期: MobX 4 特性概覽,iOS Hacks 分享, 分散式事務詳解前端iOS分散式
- 【javaWeb】第55天——java web階段性總結JavaWeb
- 第63節:Java中的Spring MVC簡介筆記JavaSpringMVC筆記
- 《HelloGitHub》第 24 期Github
- 《HelloGitHub》第 36 期Github
- 《HelloGitHub》第 35 期Github
- 《HelloGitHub》第 97 期Github
- 《HelloGitHub》第 92 期Github
- 《HelloGitHub》第 91 期Github
- 《HelloGitHub》第 90 期Github
- 《HelloGitHub》第 98 期Github
- 《HelloGitHub》第 93 期Github
- 《HelloGitHub》第 85 期Github
- 《HelloGitHub》第 40 期Github
- 《HelloGitHub》第 50 期Github
- 《HelloGitHub》第 51 期Github
- 《HelloGitHub》第 45 期Github
- 《HelloGitHub》第 53 期Github
- 《HelloGitHub》第 52 期Github