写点什么

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:574545

评论

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

中兴交换机如何配置?有哪些常用的配置命令,本文值得收藏!

wljslmz

6 月 优质更文活动

混沌演练状态下,如何降低应用的MTTR(平均恢复时间) | 京东云技术团队

京东科技开发者

混沌工程 系统安全 MTTR 企业号 6 月 PK 榜

软件测试/测试开发丨Python 闭包函数&装饰器

测试人

Python 程序员 软件测试 装饰器 函数

运维监控的几种方法

demo123567

Linux 命令 运维监控

OTalk Android 14 开发者交流专场,OPPO、字节跳动、喜马拉雅等大咖齐聚碰撞

科技热闻

快节奏升级,英特尔锐炫全力施展硬件性能

E科讯

linux部署的几种方法

demo123567

部署 linux服务

java中的线程模型和线程池

demo123567

Java 线程 线程池

Sentinel适配Reactor+WebFlux框架的实现原理

互联网架构师小马

Java reactor sentinel WebFlux

ChatGPT+Mermaid自然语言流程图形化产出小试 | 京东云技术团队

京东科技开发者

流程图 ChatGPT 企业号 6 月 PK 榜 Mermaid

Spring的核心概念:Spring基础框架及技术生态

互联网架构师小马

Java spring 框架

开源即时通讯IM框架MobileIMSDK的H5端开发快速入门

JackJiang

网络 即时通讯 即时通讯IM

从数字化出海到出海数字化,企业如何打造制胜的「锚」与「帆」?

Lily

实现懒加载

demo123567

懒加载

SUSE:强化零信任、自动化和易用性,筑牢云原生安全防线

Rancher

k8s security Kubernets

熟练使用git之git撤回操作

demo123567

git撤回

观测云版本上新|观测云 DataFlux Func 托管版正式发布

观测云

编程 可观测 观测云 可观测性用观测云

hyorm框架进阶用法之框架的原生使用方法

demo123567

Java ORM 自主研发

提示工程:从人机交互视角解读

博文视点Broadview

如何学习Java“高并发”,并在项目中实际应用?

程序员小毕

程序员 面试 Java并发 多线程 高并发

建议程序员人手一份,GitHub免费开源阿里巴巴分布式核心原理

小小怪下士

Java 程序员 分布式

App Cleaner & Uninstaller Pro for Mac(Mac电脑应用程序卸载清理助手) 中文

背包客

macos Mac软件 MacBook Pro Mac清理软件 Mac卸载软件

惊喜不间断,英特尔锐炫性价比拉满!

E科讯

404页面检测

demo123567

网络安全 内容检测 404页面

百度智能云技术委员会主席王耀受邀担任 QCon 联席主席并将发表主题演讲

Baidu AICLOUD

JavaOrm框架-基础文档

demo123567

Java ORM 自主研发

开源字节 同城信息小程序

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

数仓架构“瘦身”,Hologres 5000CU时免费试用

阿里云大数据AI技术

数据库 大数据 企业号 6 月 PK 榜

飞桨携手第二届GitLink开源夏令营,邀你参与顶尖开源项目!

飞桨PaddlePaddle

人工智能 百度 飞桨

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