基于wasm的探索与研究(三)

简介: 基于wasm的探索与研究(三)

wasmer运行时
上一篇文章分享了基于wasm的openssl实践,讲述了openssl的MD5算法如何在浏览器中执行。在探索过程中发现了openssl是可以通过wasm编译后直接run,并且有自己的runtime,这是因为openssl.wasm是通过wasmer编译运行的,这一篇文章分享制作具有运行时的openssl.wasm

概述
Wasmer介绍
Openssl编译到WASM
总结
一、Wasmer介绍
Wasmer是一个用于在服务器上执行WebAssembly的开源运行时。支持基于WebAssembly的超轻量级容器,该容器可以在任何地方运行,还可以嵌入其他编程语言。其生态包括以下几个部分:

  1. Wasmer Runtime
    Wasmer Runtime是Wasmer生态其中一个,允许wasm模块可以独立运行。关键功能是使程序能够以任何编程语言运行;使二进制文件能够在Wasmer支持的任何“操作系统”(例如Linux、macOS、Windows和FreeBSD)上不加修改地运行;充当Wasm模块,通过应用程序二进制接口(ABI),如WASI(WebAssembly System Interface)和Emscripten(1.38.43及更早版本)与本机“操作系统”功能交互的安全桥梁。

  2. WAPM
    WAPM是WebAssembly Package Manager的缩写,为可以独立使用的Wasmer Runtime做的软件包管理器。可以理解为通过Wasmer软件包编译出来的.wasm文件是可以独立运行的,WAPM就是为了管理这些能独立运行的runtime而存在的。如图:

相关文章
|
10月前
|
Web App开发 机器学习/深度学习 人工智能
WebAssembly 的发展历史概述
WebAssembly 的发展历史概述
|
Web App开发 存储 JavaScript
使用AssemblyScript 构建 WebAssembly 应用
WebAssembly,也称为 Wasm,是为 Web 创建的二进制格式。它允许通过从常规 JavaScript 访问的相同 Web API 访问浏览器功能。
684 0
使用AssemblyScript 构建 WebAssembly 应用
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
Brain.js 的力量:构建多样化的人工智能应用程序
Brain.js 的力量:构建多样化的人工智能应用程序
153 0
|
7月前
|
人工智能 编译器 C语言
如何编译你的C程序 | AI工程化部署
gcc和g++ 是 GNU 编译器套件中的 C/C++ 编译器。它可以用来编译 C/C++ 源代码并生成可执行文件
69 0
|
11月前
|
Rust 安全 C#
c#如何使用WASM跨语言调用?
c#如何使用WASM跨语言调用?
85 0
c#如何使用WASM跨语言调用?
|
存储 Rust 安全
《面向应用安全防护领域设计Wasm插件》赛题解析
2023云原生编程挑战赛2:面向应用安全防护领域设计 Wasm 插件 本赛题希望基于 WASM 实现 Higress 网关安全防护插件,开发者可以选择 Go/Rust/C++ 等多种语言,并从 IP 防护,WAF 规则防护,CC 防护等不同角度出发设计实现插件。
|
Rust 定位技术 数据安全/隐私保护
使用 Rust Wasm 开发小米 12S Utra 莱卡水印生成工具
前言 最近看到小米 12S Utra 的发布,看了下详情页面,发现演示的照片都好看的,包含了品牌、设备、镜头、位置等信息,如下图所示:
1885 0
使用 Rust Wasm 开发小米 12S Utra 莱卡水印生成工具
|
Rust 前端开发 JavaScript
WebAssembly影响未来WEB技术
WebAssembly(缩写为 Wasm)是一种用于基于堆栈的虚拟机的二进制指令格式, Wasm 被设计为编程语言的可移植编译目标,支持在 Web 上部署客户端和服务器应用程序,它可能会终结所知道的互联网上的隐私和安全。
218 0
WebAssembly影响未来WEB技术
|
Java API Android开发