共计 2177 个字符,预计需要花费 6 分钟才能阅读完成。
退出 WebAssembly 中文群,请至文末增加二维码
编者按:本周,WebAssembly 正在进一步融入浏览器。开发者喜爱 WebAssembly,因为 WebAssembly 平安、可移植性强。Ps,开发者真的很喜爱用 Rust 重写驰名的我的项目。
WebAssembly
Firefox 79 反对 WebAssembly 线程和 reference 类型
Firefox 79 于 2020 年 7 月 28 日公布,新版 Firefox 减少了以下对 WebAssembly 新性能的反对。
- 首先,提供了 7 个新的内置操作用于批量内存操作 (bulk memory operations)。例如, 复制和初始化容许 WebAssembly 以一种更高效、性能更佳的形式来建模本地函数,如
memcpy
和memmove
。 - reference-types 提议 当初失去了反对。它提供了一个新类型
externref
, 能够保留任何 JavaScript 值,如字符串、DOM reference 和对象。wasm-bindgen
文档领导了如何充分利用 Rust 的externref
。 - 随着 SharedArrayBuffer 对象的返回,咱们当初也可能反对 WebAssembly 线程。因而,当初 WebAssembly 内存对象能够跨多个 WebAssembly 实例之间共享。这些 WebAssembly 实例运行在单个 Web Worker。后果如何?Worker 之间通信十分快,以及 Web 应用程序的性能显著晋升。
这些新的个性也有助于 WebAssembly 在服务端的推动。
Rive,基于 WebAssembly 的实时互动设计工具
合作界面设计工具 Figma 是浏览器中的 WebAssembly 最驰名的案例之一。当初在浏览器中有了一个新的设计工具 Rive。据其博客称,Rive 应用程序利用 WebAssembly 创立了原生桌面和 web 利用。具体来说,Rive 团队应用 WebAssembly 和 WebGL 在浏览器中渲染 Skia 画图命令。与 Figma 相比,River 声称其在动画上体现更佳。
WebAssembly 和 Motoko 在基于区块链的互联网计算机上
WebAssembly 的联结创建者 Andreas Rossberg 探讨了将不同语言编译 WebAssembly 实现来编写去中心化的“互联网计算机”。
Motoko 是 Dfinity 团队开发的全新的编程语言。他解释说,Motoko 是为了适应全新的去中心化计算的环境而优化的。
WasmBoxC: 简略容易和疾速的无虚拟机沙箱
WebAssembly 的创始人 Alon Zakai 又有了一个新我的项目,叫做 WasmBoxC。这是从他的 wasm2c 我的项目衍生而来的,这个我的项目咱们之前曾提到过。
WasmBoxC 是为了用 WebAseembly 的沙箱环境来平安地执行不受信赖的代码而设计的。像上面这样
- 应用 WebAssembly(wasm) 编译器编译不平安的库。然而它没有生成 Wasm 字节码,而是生成了代码在沙箱中的 C 语言文件。
- 写一些 C 代码与编译过的 C 代码进行交互。这很必要,因为沙箱代码不能拜访内部内存。
经典重现:将 Go 代码编译成 WebAssembly 的 Boids
这个 Boids 游戏是用 Go 写的, 而后编译成 WebAssembly,就能够跑在现有任一浏览器中。
为什么抉择 WebAssembly?
- 疾速、高效且可移植性强
- 以靠近本机的速度执行
- 在平安沙箱中运行
Rust 新闻
用 Rust 写的一系列命令行工具
本文列出了用 Rust 从新编写的命令行工具,应用 Rust 编写是为现有 shell 命令提供古代的、通常快得多的代替命令。
用 Rust 从头写一个文件系统
对于任何操作系统而言,文件系统都是必不可少的,本文教你如何用 Rust 编写一个文件系统。对系统编程的学生来说是十分好的学习材料。
R, Python, 和 C++ 的跑分算法
在机器学习算法方面,编译到本机的 C+ + 要比 Python 或 R 快得多。在许多机器学习生产零碎中,Python 和 R 是引入生态系统工具的“粘合代码”,而 C++ 运行重量级的计算。
由 Rust 函数编译成 WebAssembly,而后在 Node.js 中运行也是如此。
Rust 甜甜圈
最后的甜甜圈是用 C 语言写的。Daniihh 用 Rust 重写了 C 甜甜圈。太酷了!
Deno 当初应用 SWC (一个在 Rust 中的 TS/JS 编译器) 来进行 Typescript 类型剥离
SWC (Speedy Web Compiler) 是用 Rust 编写的 TS/JS 编译器。Deno 团队当初在生产中应用 SWC 从 TypeScript 程序中进行类型剥离。
Serverless
在 Azure 上高效无服务部署 PyTorch
在 Azure Serverless 上运行 Pytorch ONNX AI 模型。AI 即服务来了。
云原生 5G 外围
5G 时代正在到来。运营商应如何从网络基础设施的角度引入 5G 外围 (5GC)?这篇文章兴许会有启发。
AWS 无服务利用模型反对 Step 函数状态机
无服务器利用模型 (AWS SAM) 反对了 AWS Step 函数状态机。AWS Step 函数是一个无服务器的工作流编排服务,它容许咱们将 AWS Lambda 函数和多个 AWS 服务排序到业务要害型应用程序中。
构建一个无服务代币化解决方案来爱护敏感数据
从数据中失去价值的同时爱护隐衷,如何均衡这二者的关系?本文提供了一个办法:设计一个安全可靠可扩大且降低成本的代币化解决方案。