.NET 支持 Wasm,边缘计算与Serverless Wasm——WebAssembly 周报1118

原创
2020/11/19 19:57
阅读数 645
微信不支持外链,请至文末,点击阅读原文查看文中所附资源
入群也请至文末

编者按: 本周,我们将学习编译器,包括如何编译和优化 WebAssembly,以及如何构建基于 Rust 的编译器。随着 .Net 5.0 的发布,我们看到微软也开始支持 WebAssembly。我们也很高兴 Servo 项目在 Linux 基金会找到了新家。

WebAssembly

V8 中的 WebAssembly 编译 pipeline 

了解有关 V8 中的 WebAssembly 编译管道的更多信息。本文描述了V8编译器组件,如 LiftOff 和 TurboFan,如何在多次传递中处理 WebAssembly 模块以实现最佳的运行时性能。


.NET 增加了对 WebAssembly 的支持 

    微软 .NET 5.0 增加了对 WebAssembly 和 Windows Arm64 的支持。


WebAssembly 在边缘计算 

Fastly 宣布了他们的无服务器计算环境 Compute@Edge 的新特性,由 WebAssembly 和 Lucet 提供支持。新特性包括新的 CLI 功能、 Terraform API 支持和 AssemblyScript 语言支持。


Serverless wasm 架构 


作为一种新兴的 Serverless 架构,Serverless Wasm 提供了一个高级的“基于功能”的安全模型,用于访问系统资源(例如,通过WASI 规范),而不是粗粒度的操作系统级隔离。不过目前 serverless wasm 如 Second State FaaS 只支持特定的函数


Pyodide: 编译成了 WebAssembly 的 Python 

Pyodide 通过 WebAssembly 将 Python 3.8运行时引入浏览器。它附带了 Python 科学计算堆栈,包括 NumPy、 Pandas、 Matplotlib、 SciPy 的部分内容和 NetworkX。


JavaScript 的简单 WebAssembly linker 

wasm-link-js 是一个 JavaScript 库,来初始化和执行 WebAssembly 模块。它允许 WebAssembly 程序被嵌入常见的 JavaScript 程序。


为什么要建一个我们不用的编译器 

开发者 Niels Simonides 和 Jerre van Veluw 讨论了他们如何从头开始构建一个用于 Dutch 编程语言的 WebAssembly 编译器。编译器是用 Kotlin 语编写的。从应用程序开发者的角度来看,这是一个关于编译器内部工作原理的很好的教程。


Blazor WebAssembly 调试的内部机理 

Blazor WebAssembly 目前还没有一个标准.NET 调试程序。但是你仍然可以调试它!本文介绍如何通过 Chrome 开发工具协议在 Blazor WebAssembly 中进行调试。


用于 Mac v8.8 的 Visual Studio 2019 增加了 Blazor WebAssembly 调试程序 

Visual Studio 2019 的一个很好的特性是支持 Blazor WebAssembly 调试。调试 Blazor WebAssembly 应用程序需要最新的浏览器---- Google Chrome v70或更高版本,Microsoft Edge v80 或更高版本。目前不支持苹果 macOS 上的Safari。

Rust

Servo 搬到了 Linux 基金会 

几周前的 Mozilla 裁员事件继续影响着 Rust 社区。也许你还有印象,Mozilla 解雇了 Servo 浏览器引擎的大部分团队,这是世界上最大的 Rust 项目之一。本周,Servo 项目宣布它已经转移到 Linux 基金会。它现在有一个董事会和一个技术指导委员会。


CXX —— Rust 和 C++ 之间的安全互操作 

CXX 提供了一种从 Rust 调用 c + + 代码的安全机制,或者反向也可以。它消除了使用 bindgen 或 cbindgen 生成不安全的 C 风格的 bindings 时可能出现的许多安全问题。


Rust 性能手册 

Rust 性能手册讨论了性能相关的主题,涵盖了速度和内存使用,针对中级和高级 Rust 开发者。


通过在 Rust 中编写太多 Brainfuck 编译器来学习 Assembly 

作者在 Rust 中为 Brainfuck 编程语言写了4个编译器!他们把 Brainfuck 程序编译成 x86、 ARM、 WebAssembly 和 LLVM 目标。如果你对编译器感兴趣,这是一个很好的教程。可以一步步地学习针对这些编译器目标的汇编语言,以及如何使用 Rust 生成代码。


rkyv: 一个用于 Rust 的零拷贝反序列化框架 

Rkyv 框架是一个纯粹的 Rust 反序列化框架。它在功能上类似于其他零拷贝反序列化框架,如 Cap’ n Proto 和 FlatBuffers。它使用 Rust 宏来构建它的序列化函数,就像 serde 一样。

Serverless

谷歌云推出新的无服务器数据库迁移服务 

Google 提供了一个无服务器的数据库迁移服务(DMS)来帮助用户将其他 SQL 数据库迁移到 Google Cloud SQL。客户不必在迁移期间设置服务器实例 -- DMS 负责底层基础设施的供应和操作。


思科收购 Banzai Cloud 

为了强化思科的云原生技术组合,思科收购了 Banzai Cloud。Banzai Cloud 为云本地开发和部署提供了一套基于 kubernetes 的自动化解决方案。

扫描二维码,加入 WebAssembly 中文群


点击阅读原文,查看文中所附资源

本文分享自微信公众号 - WebAssembly 中文社区(webassemblywasm)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部