Go 1.11 之後的版本,支援可以直接將 Go 寫的內容編譯成 WebAssembly (wasm),然後搭配已經寫好的 wasm_exec.html 和 wasm_exec.js 就可以直接在頁面上執行。
- 註:WebAssembly 在 Firefox 52+ 和 Chrome 57+/latest Opera 是預設支持的
個人筆記, 記錄關於 系統、程式、新聞 與 日常生活 等資訊
Go 1.11 之後的版本,支援可以直接將 Go 寫的內容編譯成 WebAssembly (wasm),然後搭配已經寫好的 wasm_exec.html 和 wasm_exec.js 就可以直接在頁面上執行。
WebAssembly (wasm) 是什麼?可以直接看 維基百科 與 MDN 的說明,下述摘錄自此篇:WebAssembly - 維基百科
WebAssembly 或稱 wasm 是一個實驗性的低階程式語言,應用於瀏覽器內的客戶端。WebAssembly 是可攜式的抽象語法樹,被設計來提供比 JavaScript 更快速的編譯及執行。
WebAssembly 將讓開發者能運用自己熟悉的程式語言(最初以 C/C++ 作為實作目標)編譯,再藉虛擬機器引擎在瀏覽器內執行。
WebAssembly 的開發團隊分別來自 Mozilla、Google、Microsoft、Apple,代表著四大網路瀏覽器 Firefox、Chrome、Microsoft Edge、Safari。
2017年11月,所有以上四個瀏覽器都開始實驗性的支援 WebAssembly。
下述摘錄此篇:WebAssembly | MDN
WebAssembly 是一種新的低階程式語言,可在今日的網頁瀏覽器中被執行 —— 它是低階的類組合語言,具有嚴謹的二進位格式,能以接近原生應用程式的效能執行,並提供如 C/C++ 等語言一個構建目標,使它們能在 Web 上被執行。他也被設計為可與 JavaScript 共存,允許兩者一同工作。
想要讓 Vim 在到處都可以使用,最快的方式,就是跑在瀏覽器上,但是 Vim 功能太強大,要怎麼在瀏覽器跑,怎麼樣都不太可能重寫一套,這邊有人直接將 Vim 編成 WebAssembly,就可以在瀏覽器使用 Vim 囉~