继Python之后,Go也顺利在浏览器上运行
Anaconda 開發商最近發布了 PyScript,這是一個可以讓開發者在 HTML 中混寫 Python 代碼的框架,有人將其稱為 “Python 版 JSP”。事實上,PyScript 底層采用了 WebAssembly, 因為它基于 Pyodide 構建,Pyodide 由編譯成 WebAssembly 的 CPython 3.8 解釋器組成,允許在網頁瀏覽器中運行 Python。
無獨有偶,開發者采用相同的思路讓 Go 也順利在瀏覽器上運行。https://goscript.dev?網站支持在瀏覽器端直接運行 Go 代碼,這是一個 Go playground,底層采用 Goscript,通過 WASM 實現。
Goscript 是 Go 語言規范的非官方實現,用于 Rust 項目的內嵌或封裝,提供了更簡單的方式封裝和調用底層的 Rust 代碼。就像 Lua 之于 Redis/WoW,或者 Python 之于 NumPy。
Goscript 包含六個項目:
parser?把源代碼變成 AST,移植自 Go 官方代碼。
type checker?基于 AST 做類型推倒和類型檢查,也移植自 Go 官方代碼。
codegen?基于 AST 和類型信息生成字節碼。
vm?運行字節碼。
std?官方庫,移植自 Go 官方庫。
engine?包含官方庫的 native 部分,再加上簡單封裝。
Goscript 實現了 Go 的幾乎所有特性(pre 1.18,因此不包括泛型),并移植了部分官方庫,已通過的相關測試用例查看 https://github.com/oxfeeefeee/goscript/tree/master/engine/tests。
Goscript 項目代碼:https://github.com/oxfeeefeee/goscript
END
想要了解更多相關的內容,歡迎掃描下方👇?關注?公眾號,回復關鍵詞 [實戰群]? ,就有機會進群和我們進行交流~
分享、在看與點贊,至少我要擁有一個叭~
總結
以上是生活随笔為你收集整理的继Python之后,Go也顺利在浏览器上运行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mtk9652对比鸿鹄818哪个好
- 下一篇: 【Python-Anaconda】jup