阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

Wasmer 发布 GA 版本的 WebAssembly 运行时

  • 2021-02-03
  • 本文字数:1236 字

    阅读完需:约 4 分钟

Wasmer发布GA版本的WebAssembly运行时

Wasmer 最新发布了WebAssembly服务器端运行时1.0版,由此形成了一般可用(GA)版。

 

Wasmer提供了基于WebAssembly(简称 Wasm)的超轻量级容器。该系列产品的启动可回溯至两年多前推出的 0.1.0 版,此次发行的 1.0 版是一个重要的里程碑标志,体现了 Wasm 对服务器端的日益关注。

 

Wasmer 1.0 版的主要功能包括:

  • 多项性能改进:编译速度比之前的版本提高了 9 倍。

  • 可插拔的架构:支持多种编译器和编译引擎。Wasmer 不仅对SinglepassCraneliftLLVM提供开箱即可用的支持,而且支持 JIT 引擎和原生引擎两种编译模式。JIT 引擎将生成代码直接推送到内存,原生引擎在磁盘上生成原生代码。

  • 原生对象引擎:Wasm 模块可预编译为原生对象。原生对象在提供完全沙箱环境的同时,通过编译的模块仅需要最小运行时即可运行。

  • 无头(headless)Wasmer:用户可运行一种专门针对轻量级 IoT 设备的“无头”版 Wasmer。无头版仅有几百 KB 大小,支持在任一设备上运行预编译的 Wasm 二进制文件。

  • 交叉编译:可以在任意 CPU 架构上针对其他的目标 CPU 架构进行 Wasm 的预编译。

 

Wasm 是一种面向基于堆栈(stack-based)虚拟机的二进制指令格式。它的设计目的是能够让不同的编程语言生成可移植的编译目标产出,支持在 Web 客户端和服务器端应用上进行部署。Wasm 已受到 Web 应用开发的广泛关注。开发人员使用 Wasm 替代或补充传统的 JavaScript 代码,并且大多数现代浏览器支持开箱即可用地执行 Wasm。可编译为 Wasm 的编程语言正不断增加,其中包括 C/C++、Rust、C#等。

 

随着 WebAssembly 在浏览器中广泛使用,出现了一些服务器端 Wasm 实现。Wasmer 的 CEO Syrus Akbary 介绍了服务器端 Wasm 运行时的重要性:

 

我们相信,WebAssembly 未来将成为执行软件和容器化的重要组件,不仅在浏览器内部,而且在浏览器之外。

 

通过将 Wasm 引入软件容器化,我们创建了无需修改即可随处运行的通用二进制文件,支持 Linux、MacOS、Windows 等操作系统,以及多种浏览器。出于执行安全上的考虑,Wasm 默认自动化沙箱应用,保护主机环境免受恶意代码、软件缺陷和所运行软件的安全漏洞的威胁。Wasm 还提供了紧凑的执行环境,使得 Wasmer 容器可在使用 Docker 容器显得过于重量级的场景中运行。


Wasm 服务器端运行时实现了WebAssembly System Interface(WASI)。WASI 是 WebAssembly 的模块化系统接口,支持 Wasm 代码访问文件系统、网络等操作系统的特定服务,这通常在浏览器中是不允许的。Docker 的联合创始人 Solomon Hykes 曾于2019年发推文指出:


如果早在 2008 年就推出了 WASM+WASI,那么我们就没有必要创立 Docker。Wasm 就是这么重要。服务器端 WebAssembly 是计算的未来,虽然还缺少标准化的系统接口。期待 WASI 提上日程!


Wasmer 使用Rust编写,是一个流行的 Wasm 服务器端运行时的开源实现。做为 Wasmer 的支撑企业,Wasmer Inc 还推出了WebAssembly软件包管理器WAPM。使用 WAPM,开发人员可以轻松地分享 Wasm 代码的打包模块。Wasmer 运行时的同类产品还包括 SSVM(Second State Virtual Machine)和Lucet

 

原文链接: 

The "Wasmer" WebAssembly Runtime is Generally Available

2021-02-03 15:574345

评论

发布
暂无评论
发现更多内容

架构师训练营第三周-总结

无心水

极客大学架构师训练营

互联网人的娱乐精神之28岁退休 & P8和生活助理的故事

码农神说

程序员 漫画 退休

奈学教育《大数据架构师》课程大纲(1)

古月木易

大数据

新基建时代区块链应用场景进化

CECBC

新基建 区块链技术 去中心化 产业落地

请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?

一叶知秋

Cocoa 代码注释与文档生成

Edmond

ios CocoaPods 代码注释 Swift-Document iOS Document

重学 Java 设计模式:实战责任链模式「模拟618电商大促期间,项目上线流程多级负责人审批场景」

小傅哥

设计模式 小傅哥 重构 代码优化 责任链模式

如何写出高质量的代码?(浅谈代码规范、重构、单元测试的重要性)

Nick

单元测试 重构 代码重构 代码规范

一种极致性能的缓冲队列

捉虫大师

Java 性能

英特尔宋继强:坚持科研的长期主义 推动AI向3.0时代跃迁

最新动态

UML实践-食堂就餐卡系统

shangyu

极客大学架构师训练营

第二周学习总结

师哥

面向对象设计课程小结

梅子黄时雨

极客大学架构师训练营

架构师训练营 - 第 3 课总结 -20200620- 软件设计

👑👑merlan

架构设计 软件设计 SOLID

架构师训练营第二周课后作业

赵凯

框架设计

思想不进化的人都是可怜人

Neco.W

提升认知 思考 进步 进化

Android APP启动白屏优化

小菜鸟学php

android白屏

为什么Web开发人员在2020年不用最新的CSS功能

葡萄城技术团队

CSS

Cache类接口隔离设计

石刻掌纹

游戏夜读 | 中国的游戏制作人

game1night

加密与解密

返町

数据库如何弹性伸缩?

Aaron_涛

数据库 架构 云原生

【摘】Git-从零单排 04期

卡尔

SharePoint 往事之:一句话让 SharePoint 罢工

手艺人杨柳

SharePoint

小师妹学JVM之:JIT中的LogCompilation

程序那些事

JVM 小师妹 性能调优 JIT 签约计划第二季

奈学教育《大数据架构师》课程大纲(1)

奈学教育

大数据

《零基础学 Java》 FAQ 之 17-怎么理解Java中的数组

臧萌

Java

架构师训练营作业 (第三周)

王海

极客大学架构师训练营

架构师训练营第三周

Melo

加入生财有术后,我获得了什么

Jay Wu

Flink on Zeppelin (5) 高级特性篇

章剑锋_Jeff

大数据 flink 流计算 Zeppelin

Wasmer发布GA版本的WebAssembly运行时_大前端_Eran Stiller_InfoQ精选文章