webassembly001 webassembly简述

WebAssembly

  • 官方地址:https://webassembly.org/
  • 相关历史 https://en.wikipedia.org/wiki/WebAssembly https://brendaneich.com/2015/06/from-asm-js-to-webassembly/
  • WebAssembly(缩写为Wasm)是一种基于堆栈的虚拟机的二进制指令格式。Wasm 被设计为编程语言的可移植编译目标,支持在网络上部署客户端和服务器应用程序。
  • Wasm 被设计为用于编译 C/C++/Rust 等高级语言的可移植目标,从而可以在 Web 上部署客户端和服务器应用程序。
    Web Assembly 不是开发人员必须编写的东西,但代码是用 C、C++、Rust 等语言编写的,并且可以编译为 WebAssembly (wasm)。相同的代码可以在 Web 浏览器中运行。
  • WASM 不是一种编程语言。简而言之,它是一种将用一种编程语言编写的代码转换为浏览器可理解的机器代码的技术。
  • WebAssembly 是一门新语言,代码是低级汇编语言,但凭借其文本格式特性,代码可读性强,必要时可以调试。

在线工具 WebAssembly Studio

  • 将 C/C++ 和 Rust 代码编译为 WASM 格式。
  • https://webassembly-studio.kamenokosoft.com/
  • https://github.com/wasdk/WebAssemblyStudio
    在这里插入图片描述

在线工具 WasmFiddle

相关教程

一些项目

多语言

  • Run WordPress in the browser via WebAssembly PHP https://github.com/WordPress/wordpress-playground
  • Go wazero: the zero dependency WebAssembly runtime for Go developers https://github.com/tetratelabs/wazero
  • pywasm: A WebAssembly interpreter written in pure Python.
  • WebAssembly 运行 Python https://2022.pycon.de/program/SBCNDY
  • .NET blazor https://dotnet.microsoft.com/zh-cn/apps/aspnet/web-apps/blazor https://github.com/elderjames/ant-design-blazor
  • Swift
  • Kotlin
  • Java
  • COBOL

基础应用

数据库&大数据

数据分析

文件编辑

音视频+ 图像

在ffmpeg.wasm的FAQ中有几个重要的问题:
  • 输入文件的最大大小是多少?
    2 GB,这是 WebAssembly 中的硬性限制。将来可能会变成 4 GB。

  • 为什么 ffmpeg.wasm 不支持 nodejs?
    ffmpeg.wasm 在 0.12.0 之前确实支持 NodeJS,但由于以下原因决定停止对 NodeJS 的支持:
    维护 nodejs 支持需要额外的努力
    如果你不在浏览器中运行,有很多比使用 WebAssembly 更好的选择来获得更好的性能,例如:
    nodejs:https://www.npmjs.com/package/fluent-ffmpeg
    react-native:https://github.com/arthenica/ffmpeg-kit
    当然,我们仍然非常欢迎贡献 ffmpeg.wasm 的 nodejs 版本。

  • 为什么 ffmpeg.wasm 与 ffmpeg 相比这么慢?
    截至目前,WebAssembly 仍然比原生慢很多,可以使用进一步加快速度 WebAssembly 内部的,基本上是编写汇编代码。这是我们正在调查的事情 并希望将来推出。
    如果您可以使用更不稳定的 ffmpeg.wasm 版本,请使用 ffmpeg.wasm 多线程 (mt) 版本 与单线程相比,速度约为 2 倍(但消耗更多的内存和 CPU)

智能问答

游戏

其他

相关文章

CG

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值