退出 WebAssembly 中文群,请至文末
编者按: 本周的 WebAssembly 新闻多多!
WebAssembly
Serverless Rust + WebAssembly
本文通知你如何应用 Rust + WebAssembly 创立机器学习和数据可视化的 serverless 利用 。
embed-wasm
embed-wasm crate 容许开发者用 Rust 写端到端的利用。后端被编译为本地 Web 服务器应用程序,前端被编译为 wasm 并从后端提供给浏览器(因而将前端“嵌入”在后端中)。
Wasmtime 中的 WebAssembly Reference 类型
WebAssembly reference 类型来啦! 这篇博客文章解释了 WebAssembly reference 是什么,以及如何启用从非 JavaScript 主机调用 WebAssembly 函数。 对于服务端的 WebAssembly 而言,这是十分重要的提高。
Motoko, 一个能间接用在互联网的编程语言
Motoko 由 Difinity 团队设计开发,专门针对 WebAssembly 设计。这篇发表在 Stackoverflow 上的博客文章解释了创造 Motoko 的起因。 Motoko 是用于计算机互联网(基于 WebAssembly 的去中心化云计算平台)的最佳语言。
Ring 语言下次降级将专一 WebAssembly
Ring 是一个用于通用目标的编程语言。它反对命令式、步骤式、面向对象、函数式和申明式编程范例。 Ring 打算在9月公布的1.13版本中反对 Qt WebAssembly。 Qt WebAssembly 是一个 平台插件,用于创立可一集成到 web 页面中的 Qt 利用。
WebAssembly 问题
本系列文章探讨了 WebAssembly 问题和相应解决方案。
- Part 1: WebAssembly 不是一个堆栈机
- Part 2: 为什么咱们依然须要 Relooper 算法?
- Part 3:Alloca如何?
- Part 4: Microwasm
请留神,这些文章是在2019年写的。并不是最新的,但许多问题和见解依然实用。
Lunatic: 一个基于Actor的后端WebAssembly运行时
Lunatic 是一个参考 Erlang 和 Go 而设计的 WASM 运行时,用 Rust 编写。
次要个性:
- Actors 示意为 WebAssembly 实例。
- 沙箱和运行时权限是基于每个角色授予和回绝的。
- 所有 blocking 代码将主动转换并异步执行。
Lunatic 的设计是能够平安无效地运行任何 WASM 字节码。
应用从MATLAB生成的 WebAssembly 进行手写数字辨认
这个我的项目将用于手写数字辨认的经典神经网络算法编译到 WebAssembly 中。咱们还看到了一个相似的用于辨认手写数字的我的项目,将算法放到了服务端的 Rust 和WebAssembly 。 点击这里,能够具体理解他的代码。
《微软航行模拟器》编译成 WebAssembly ,以在浏览器里运行
游戏《微软航行模拟器》在这次疫情中大受欢迎。 有了 WebAssembly,能够在浏览器中玩这个游戏的复旧模式了! 通过微软航行模拟器,你能够玩微软在1982年到1989年期间开发的前四个航行模拟器游戏。
模拟器是用 C 编写的,而后通过 LLVM 编译器编译为 WebAssembly。
Fastly - 为 Compute@Edge 评估新语言
Fastly 的 Compute@Edge 是由基于 WebAssembly 虚拟机的 Lucet 驱动的。除了最开始的 Rust 之外,Compute@Edge 将反对 AssemblyScript 和 Go。
Wasm-smith, 一个 WebAssembly 测试案例生成器
用 Rust 编写的 WebAssembly 测试用例生成器生成 WebAssembly 测试函数,以帮忙疾速发现 bug。通过 cargo fuzz
和 libfuzzer-sys
, wasm-smith 非常容易应用
视频:破解 Mesh:应用WebAssembly模块扩大Istio
Istio, 一个大受欢迎的Server Mesh产品,反对了 WASM。该视频显示了如何通过构建用于 Istio 的代理 Envoy 的个性化过滤器来扩大 Istio 的性能。这些个性化过滤器能够用任何能编译成 wasm 的语言编写。
教程:
- WebAssembly 小试牛刀:上手基本操作。这是浏览器中 WebAssembly 的入门指南,文中列举了 C 或 Rust代码示例。
- 代码依据标准生成 WebAssembly 6502 模拟器。本教程教您如何在WebAssembly 中为旧硬件(如Atari计算机)创立模拟器。
Rust 新闻
Rust 1.46.0 公布
Rust 1.46.0 公布。有什么重大晋升? 当初,您能够在 const fn 中搁置更多内容,从而在编译时,而不是运行时。执行更多计算。 这样能够大大提高特定 Rust 利用的性能。
Trunk — 将您的Rust WASM利用构建,捆绑并交付到Web
Trunk 是一个 Rust 写的 CLI 工具。它提供了一个简略的零配置工具,用于构建 Rust WebAssembly 应用程序,捆绑应用程序资产(sass、css、图像和 c )并将其全副发送到Web。
GlueSQL: 齐全由 Rust 和 WebAssembly 反对编写的SQL数据库
GlueSQL 是用 Rust 编写的 SQL 数据库。 它提供了一个 SQL 查问解析器 (sqlparser-rs),一个执行层和可选的贮存空间(sled)。GlueSQL 能够在web 浏览器中运行,因为它反对 WebAssembly。
Rapier: 专一性能的 2D 和 3D 物理引擎
Rapier 是 nphysics 的继任者,专一于性能。 正如 nphysics, 它分为两个 crate: rapier2d 和 rapier3d,别离对应 2D 和 3D 物理。它一开始就设计为多线程的。 Rapier 须要较少的增量编译,节俭了构建工夫。 Rapier 的运行速度比 nphysics 快5至8倍。
随着Rust一直成长,RustConf 提倡营造更容纳的社区
RustConf 2020 回顾。这一天的 Rust 会议吸引了来自寰球的 Rust 开发者和社区成员。 讲座的内容从较强的技术性到游戏入门介绍,不一而足,也有儿童可参加的流动。
要害信息很明确—— Rust 已为支流的大规模利用做好了筹备。
Serverless
Red Hat 从新定义云原生治理
Red Hat 发表将为 Kubernetes 提供高级集群治理性能,这是 Red Hat 针对混合云设计的 IT 治理技术产品组合的最新成员。