灰鸽子远程控制软件

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 117|回复: 0

通过WebAssembly提供的Rust和JavaScript互操作性

[复制链接]
发表于 2018-4-12 10:12:12 | 显示全部楼层 |阅读模式
Mozilla的目标是使Rust成为JavaScript等Web语言,与Web应用中的WebAssembly和JavaScript一起使用

远程控制

远程控制


Mozilla正在研究JavaScript和Rust语言之间的桥梁,称为wasm-bindgen,它建立在WebAssembly可移植代码格式上。

wasm-bindgen努力旨在提高JavaScript和Rust之间的互操作性,并通过WebAssembly使Rust成为像JavaScript这样的Web语言。 Wasm-bindgen提供WebAssembly(wasm)模块和JavaScript之间的高级别交互。使用wasm-bindgen,JavaScript和WebAssembly可以与字符串,JavaScript对象和类进行通信,而不仅仅是整数和浮点数。

wasm-bindgen的高级功能包括:

导入JavaScript结构,函数和对象以在WebAssembly中调用。开发人员可以调用结构和访问属性的JavaScript方法,一旦注释被连接,就可以为Rust代码提供原生的感觉。
将Rust结构和函数导出为JavaScript。一个Rust结构体可以被导出,变成一个JavaScript类。然后可以传递结构而不是整数。
目前,WebAssembly仅支持四种类型:两种整数类型和两种浮点类型。但JavaScript和Rust开发人员经常使用更丰富的类型,例如Rust开发人员使用Result进行错误处理。使用wasm-bindgen,JavaScript可以使用字符串或Rust函数调用Rust API来捕获JavaScript异常。通过消除WebAssembly和JavaScript之间的不匹配,JavaScript可以调用WebAssembly函数,而WebAssembly可以对JavaScript函数执行相同的操作。

建立在ECMAScript模块上,wasm-bindgen专注于Rust。但其目的也是为了最终还将用于C和C ++等语言。但Mozilla称wasm-bindgen目前还不够稳定,无法扩展到其他语言。

Rust社区的一大目标是让该语言成为网络语言。通过锁定WebAssembly,Rust可以像JavaScript一样成为一种可以在网络上运行的语言。但Mozilla指出,它并没有试图用Rust取代JavaScript。该公司不希望Rust WebAssembly应用程序完全用Rust编写;相反,大部分应用程序代码仍然在JavaScript中。 Rust和WebAssembly将用于应用程序的特定部分,例如解析源映射或确定对DOM做了哪些更改。


评帖赚银币(0) 收起
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|灰鸽子远程控制软件|灰鸽子远程控制软件 ( 鲁ICP备14000061号 )

GMT+8, 2018-4-26 23:34 , Processed in 0.109375 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表