wasmer运行时
上一篇文章分享了基于wasm的openssl实践,讲述了openssl的MD5算法如何在浏览器中执行。在探索过程中发现了openssl是可以通过wasm编译后直接run,并且有自己的runtime,这是因为openssl.wasm是通过wasmer编译运行的,这一篇文章分享制作具有运行时的openssl.wasm
概述
Wasmer介绍
Openssl编译到WASM
总结
一、Wasmer介绍
Wasmer是一个用于在服务器上执行WebAssembly的开源运行时。支持基于WebAssembly的超轻量级容器,该容器可以在任何地方运行,还可以嵌入其他编程语言。其生态包括以下几个部分:
Wasmer Runtime
Wasmer Runtime是Wasmer生态其中一个,允许wasm模块可以独立运行。关键功能是使程序能够以任何编程语言运行;使二进制文件能够在Wasmer支持的任何“操作系统”(例如Linux、macOS、Windows和FreeBSD)上不加修改地运行;充当Wasm模块,通过应用程序二进制接口(ABI),如WASI(WebAssembly System Interface)和Emscripten(1.38.43及更早版本)与本机“操作系统”功能交互的安全桥梁。WAPM
WAPM是WebAssembly Package Manager的缩写,为可以独立使用的Wasmer Runtime做的软件包管理器。可以理解为通过Wasmer软件包编译出来的.wasm文件是可以独立运行的,WAPM就是为了管理这些能独立运行的runtime而存在的。如图: