时隔16年Jeff Barr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

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

评论

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

深入浅出ThreadLocal

Java 多线程 ThreadLocal

“阿里爸爸”最新产出:Java面试突击核心讲(1658页),转载40W+

Java java面试 Java八股文 Java面试题 Java面试八股文

阿里资深架构师三年整理分享:java面试核心知识点原理篇文档

三十而立

Java 程序员 面试 IT java面试

终于拿到了阿里2023年度九大Java技术文档——面试题+文档+白皮书

三十而立

Java 面试 java面试

ZBC新一轮流动性收益计划迎来新通缩,APR高达100%

西柚子

架构实战营-模块六作业(拆分电商系统为微服务)

🐢先生

架构实战营

两个比较容易混淆的函数

Joseph295

明道云在制造行业的五个实施案例与建议

明道云

一文总结Java的23种设计模式

Java 设计模式

Spring、Spring MVC、Spring Boot三者的关系还傻傻分不清楚?

三十而立

Java 程序员 面试 IT java面试

阿里资深架构师三年整理分享:java面试核心知识点原理篇文档

三十而立

Java 程序员 IT java面试

ZBC新一轮流动性收益计划迎来新通缩,APR高达100%

鳄鱼视界

工赋开发者社区 | 做好生产线的规划与布局,能给工厂带来什么好处?

工赋开发者社区

工赋Meetup | 价值驱动的技术交流Call你来!4月2日上海见

工赋开发者社区

浅析 python 一切皆对象

蓬蒿

Python python对象 一切皆对象

矢量绘图UI设计:Sketch 95.3中文激活版

真大的脸盆

Mac UI Mac 软件 ui设计

SpringBoot实现对配置文件中的明文密码加密

Java Spring Boot 框架

阿里内部总结的微服务笔记,从入门到精通小白也能学的会

Java 微服务 Spirng Cloud

GitHub置顶神作开源!世界名著《Spring实战(第6版)》全彩文档

Java spring 框架

存储容量启动会圆满召开

科技热闻

IDEA 热部署,修改代码不用重启项目

源字节1号

软件开发 开源治理 小程序开发

PyTorch 深度学习实战 | DIEN 模拟兴趣演化的序列网络

TiAmo

深度学习 迭代跟进

Nacos心跳机制实现快速上下线

Java Spring Cloud nacos

教你用华为云玩转物联网开发

程思扬

华为 物联网 华为云

多功能代码编辑器:CodeRunner激活版

真大的脸盆

代码编辑器 代码编辑 编辑代码

帮师姐把100个Excel中符合条件的数据,汇总到1个Excel里

程序员晚枫

Python Excel 自动化办公

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