【问题标题】:Does Webassembly end up as rendered HTML in the browser?Webassembly 最终会在浏览器中呈现为 HTML 吗?
【发布时间】:2019-03-11 06:21:44
【问题描述】:
Webassembly 可以将 C# 编译为字节码,可由浏览器执行。它在浏览器中呈现的形式是什么?带有 JavaScript 的 HTML?或者像 Silverlight 或在浏览器中运行的 Java 小程序,例如具有丰富 GUI 的商业应用程序?
【问题讨论】:
标签:
javascript
html
browser
webassembly
blazor
【解决方案1】:
简单来说,WebAssembly 是一个可以执行数字指令的轻量级虚拟机。它不能呈现 HTML,也不能直接使用任何 WebAPI。
但是,您不能导入/导出 WebAssembly 函数以允许它与 JavaScript 通信。因此,WebAssembly 应用程序倾向于通过 Javascript 绑定使用 DOM 或画布。
【解决方案2】:
您用 C# 编写的应用程序代码编译为 asp.net 程序集,并由编译为 WebAssembly 的 mono 运行时管理。在浏览器中呈现的是通过使用 JavaScript 互操作操作 DOM 的 html;也就是说,您的 C# 代码与 JavaScript 代码通信以操作 DOM,并重新呈现差异。