编者按:html
本周,咱们持续看到 WebAssembly 在服务器端崛起的例子,以及它在无服务器基础架构中的做用。与此同时,Rust获得更多的主流大公司和著名的项目采用,如微软,Facebook,甚至 Linux 内核也会加入!linux
SSVM 0.6.0 版本在可控的方式下(如:基于功能的安全性)支持 WASI 操做系统资源。除了 WASI, SSVM 还支持额外的,非标准的 WebAssembly 扩展,以安全地访问主机系统。git
对 JavaScript 开发者而言, SSVM 能够轻松地将高性能Rust函数整合到Node.js应用程序中.github
以前的简报中咱们讨论了 “可移植的 C 语言” 做为安全通用二进制的想法,以及支持它的 wasm2c 工具箱。本周,咱们在现实世界中看到了一个这样的实际用例!web
Peter Salomonsen 写了一篇文章演示了如何将 WebAssembly 模块编译为 C 并使用它。文章中附有 WebAssembly 音乐项目的例子。很是有意思!typescript
文章详细介绍了无服务器 FaaS 基础架构的三种主要方法,其中一种方法是使用特定于应用程序的虚拟机,如 WebAssembly. 这种方法正在兴起,并提供了较高层级的抽象。后端
WebAssembly 虚拟机能够提供用于访问系统资源的高级“基于功能”的安全模型 (例如,经过 WASI 规范) 而不是粗粒度的操做系统级隔离。服务器端的 WebAssembly 看起来潜力无限。浏览器
WebAssembly 会代替 JavaScript吗? 谁的性能更强大? Alex Fallenstedt 在推特上分享了他的benchmark。JavaScript 在字符串对比中更快,而 Rust + Wasm 在 arrays 中更快。安全
这多是由于在浏览器设置中,字符串操做是JavaScript最多见的任务。所以,为 JavaScript 构建的 C / C ++ 运行时引擎,对字符串操做进行了超优化。对数字运算而言状况并不是如此。服务器
因此咱们学到了什么呢?讨论抽象设置中的性能很难。咱们必须判断实际应用场景中的性能。
该文章介绍了如何使用 Rust crates 和服务端 WebAssembly 进行 K-clustering 和可视化。Rust 容许开发者编写更高性能的机器学习函数,同时 WebAssembly/SSVM 提供了运行时安全性、代码可移植性和可管理性。
WebAssembly 是机器学习/AI应用程序(在浏览器和服务器上)的高性能运行时。本文做者描述了他们如何为专门用于 ML 模型的 FaaS 服务构建WebAssembly 运行时。 ML FaaS 中的 WebAssembly 的优势包括:
FreeCodeCamp 的这篇文章讲述了,如何使用 WebAssembly 在浏览器中构建富客户端应用程序,而后使用 Azure 无服务器函数为该应用程序构建后端
Firefox 78 包括一个新的 RegExp 评估器,能够知足 ECMAScript 2018 的要求,还提高了对 WebAssembly 的支持。
在咱们上周的简报中咱们提到了 Linux 内核可能采用和支持 Rust。以后,Linux 核心开发人员之间以电子邮件的形式进行了讨论。从他们讨论的内容,咱们能大概知道 Rust 会如何获得支持。 Reddit 网友 crabbytag 发帖为网友作了总结:
这一系列往来邮件已经在 Linux 和 Rust社区引起了海量讨论。
4k intro 是用 4096 或者更少字节写一整个场景的视频模拟(包括数据)。 这个 Intro 是用 Rust 和 glsl 写的。 Glsl 用于在屏幕上渲染 UI,而 Rust 负责其它部分,包括世界建立、摄像头和对象控制、建立乐器和播放音乐等。 查看 demo 视频吧!
微软发布了 Freta 项目,是一个云级别的安全漏洞扫描工具。是用 Rust 写的!
Facebook 发布了一个内部项目,使用 Rust 构建一个基于 web 的书签工具。
Boardgame Lab 团队决定将整个 Boardgame Lab 的引擎从 TypeScript 转换为Rust。 缘由是
用 Rust 编写的 Flake Growth,是一种用于模拟单晶黄金薄片从初始单个原子到微米级(即数十亿个原子)的生长的工具。
Flake Growth 还有一个将 Rust 编译到 WebAssembly 的版本,以在浏览器中运行。
InfoQ 这篇文章报道了最近的一次ServerlessDays China 活动。 无服务器计算以前是用于其余云服务的“粘合剂”,如今逐渐发展为全栈应用服务,所以,无服务器架构师逐渐变得热门。
WebAssembly 中文群,请扫码加入