专栏名称: zhongzhong05
码农
目录
相关文章推荐
新疆949交通广播  ·  @所有考生 准考证不!要!丢! ·  15 小时前  
丁香园肿瘤时间  ·  PFS 较 K 药延长近半年!晚期 ... ·  2 天前  
梅斯医学  ·  腰围缩小 10% 竟成死亡信号!超 1.6 ... ·  2 天前  
新疆949交通广播  ·  微信上线新功能!网友:赶紧改 ·  2 天前  
新疆是个好地方  ·  这几天,被新疆人甜到了 ·  2 天前  
新疆是个好地方  ·  这几天,被新疆人甜到了 ·  2 天前  
51好读  ›  专栏  ›  zhongzhong05

使用Go开发前端应用(二)

zhongzhong05  · 掘金  ·  · 2020-04-30 09:48

正文

请到「今天看啥」查看全文


基础类型:

  • i32
  • i64
  • f32
  • f64

wasm里面只有这4种基础类型,所以你如果需要处理字符串,那就需要转换为int类型的数组,然后wasm才能处理。

函数支持:

跟其他语言的函数一样,没什么好说的。

几个阶段:

  • 编译,将二进制解码为模块的内部表现形式,实际实现可以直接编译为机器代码。
  • 验证,主要验证解码之后的结果是否正确,比如,格式,安全性等。
  • 执行
    • 实例化,定义模块的导入,初始化导出等
    • 调用,实例化完成之后,就可以调用导出的方法了

另外还有一点很重要,wasm它没有自己特定的开发语言,需要你是用别的语言,比如说Go,Rust。这样,你用Go或者Rust写好你的代码之后呢,将代码编译成wasm,这样在js中就能使用了。

所以,如果你正好会Go或者Rust的话,是不是优势就来了?因为至少目前来看,前端使用wasm的场景还是非常多的。

js中加载wasm

首先介绍下js中一些关于wasm的API。具体详细的API可以参考: developer.mozilla.org/zh-CN/docs/…

WebAssembly 全局对象

这个对象里面,包括了所有可以使用的WebAssembly的功能。如果你的浏览器没有这个对象,只能说明你用的可能是远古时期的浏览器。

对吧,你看这个浏览器兼容性就知道了,出了非常坑的IE(谁现在还要支持IE的,举个手?),其他浏览器都是支持的。







请到「今天看啥」查看全文