webassembly001 webassembly简述

news2024/11/19 1:33:19

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

  • https://wasdk.github.io/WasmFiddle/
  • 從 C 到 WasmFiddle
  • 通过WasmFiddle平台构建WASM模块

一些项目

多语言

  • 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

基础应用

  • Desktop environment in the browser https://github.com/DustinBrett/daedalOS

  • https://github.com/WasmVM/WasmVM

  • Cloudflare Workers 上的 WebAssembly

  • v86| 通过 WebAssembly 运行 x86 兼容的虚拟机 https://github.com/copy/v86

  • https://github.com/whitphx/stlite

  • https://browsix.org/

  • tensorflow-js https://blog.tensorflow.org/2020/03/introducing-webassembly-backend-for-tensorflow-js.html

  • OpenCV.js https://docs.opencv.org/3.4/d5/d10/tutorial_js_root.html

  • Rust / Wasm framework for building client web apps

  • PainterEngine是一个由C语言编写的完整开源的跨平台图形应用框架,可移植到Windows Linux Android iOS 支持WebAssembly的Web端及嵌入式MCU上

  • https://www.painterengine.com/main/instances/instance2021122401/index.html

数据库&大数据

  • WebAssembly介绍及其在数据库方向的应用前景
  • 在 Github 页面上托管 SQLite 数据库 https://phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages/
  • Postgres WASM| 开源 WASM 运行 PostgresSQL 方案 https://supabase.com/blog/postgres-wasm
  • WebAssembly 在 MOSN 中的实践

数据分析

  • DNA分析 How We Used WebAssembly To Speed Up Our Web App By 20X (Case Study)
  • A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
  • WebAssembly 在性能及加密场景的深度探索

文件编辑

  • https://www.vimonlineeditor.com/
  • https://github.com/rsms/markdown-wasm
  • https://livehelp.unity.com/article/unity-2018-2zheng-shi-zhi-chi-webassembly

音视频+ 图像

  • https://earth.google.com/web/ How we’re bringing Google Earth to the web
  • Background Features in Google Meet, Powered by Web ML
  • WebAssembly 将 Figma 的加载时间缩短了 3 倍
  • Zoom on Web:WebAssembly SIMD、WebTransport 和 WebCodecs
  • bilibili WebAssembly 在多媒体场景的实践与思考
  • Build FFmpeg WebAssembly version (= ffmpeg.wasm)
  • 搭建webassembly网页播放器
  • https://github.com/facebookresearch/segment-anything
  • https://github.com/DmitriyValetov/onnx_wasm_example
  • https://github.com/imgly/background-removal-js/tree/main
  • AI-Powered Photos App for the Decentralized Web

智能问答

  • Are you aware that whisper.cpp has a WASM-version as well?
  • https://ggml.ai/?utm_source=talkingdev
  • Talk - GPT-2 meets Whisper in WebAssembly
  • https://github.com/lxe/wasm-gpt
  • https://github.com/saharNooby/rwkv.cpp
  • ggml implementation of BERT
  • An example of running local models with GGML
  • ggml implementation of the baichuan13b model (adapted from llama.cpp)

游戏

  • RUST+ WebAssembly :从零开始创建一个WebAssembly游戏
  • https://beta.unity3d.com/jonas/AngryBots/

其他

  • WebAssembly :A fast and secure runtime for WebAssembly

  • WebAssembly Micro Runtime (WAMR)

  • https://www.jc2182.com/webassembly/webassembly-introduction.html

  • C++ + WebAssembly :WebAssembly技术解密

  • wasm的底层解释:https://rsms.me/wasm-intro

  • 了解 WebAssembly 的基礎使用方法 https://github.com/guybedford/wasm-demo

CG

  • Web 工作进程可以在独立于 Web 应用程序主执行线程的后台线程中运行脚本操作。这样做的优点是可以在单独的线程中执行费力的处理,允许主线程(通常是 UI)线程运行而不会被阻塞/减慢速度。
  • 对象用于表示通用的原始二进制数据缓冲区,类似于 ArrayBuffer 对象,但可用于在共享内存上创建视图。
  • https://www.zhihu.com/question/265700379
  • https://www.v2ex.com/t/552383
  • asm.js和WebAssembly有什么区别?
  • Understanding asm.js
  • https://github.com/asm-js
  • WebAssembly 能干什么?8个WebAssembly 应用案例
  • Run JavaScript/WASM in Python: high-level SpiderMonkey bindings to Python with PythonMonkey

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/937167.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言练习】牛客题库第(一)期

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

攻防演练期间一次对某企业的渗透测试

免责声明 由于传播、利用本文章说黑客所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者说黑客不为此承担任何责任,一旦造成后果请自行承担! 前言 某次攻防演练中,主办方只提供了目标…

软考:中级软件设计师:HTML

软考:中级软件设计师:HTML 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 &#xff…

SM3(国密)在线加密--获取摘要

SM3(国密)在线加密--获取摘要

官方项目《内容示例》中Common UI部分笔记: 1.1 Activatable Widgets

本文主要面向UMG以及Common UI的初学者 文章目录 效果展示概要Activate和Deactivate可见性绑定UI动画设置Common Activatable Widget的默认焦点 效果展示 概要 这个例子非常简单,定义了13个Common Activatable Widget CommonUI_ActivatableWidgets相当于一个容器包…

【校招VIP】java语言考点之双亲委派模型

考点介绍: 双亲委派是校招面试中的高频考点之一。 双亲委派机制定义:当一个类加载器收到了类加载的请求的时候,他不会直接去加载指定的类,而是把这个请求委托给自己的父加载器去加载。只有父加载器无法加载这个类的时候,才会由当前…

系统集成项目管理工程师【中级】考证学习资料知识点整理分享——第二章《信息系统集成及服务管理》,持续更新中........

系统集成项目管理工程师(中级)考证学习资料整理分享,持续更新中........ 目 录 第二章《信息系统集成及服务管理》 一、信息系统集成及服务管理 (一)信息系统集成及服务管理的内容 (二)信息系统集成及服务管理的推进 1.实施信息系统集成及服务资质管理制度 1)…

Pico如何使用C/C++选择使用哪个I2C控制器,以及SDA和SCL针脚

本文一开始讲述了解决方案,后面是我做的笔记,用来讲述我的发现流程和探究的 Pico I2C 代码结构。 前提知识 首先要说明一点:Pico 有两个 I2C,也就是两套 SDA 和 SCL。这点你可以在针脚图中名字看出,比如下图的 Pin 4…

AI绘图(11)stable diffusion 如何写好prompt 四

在最开始我写了三篇关于prompt的,具体的大家可以跳转来去看,以下给出来链接: AI绘图(3)stable diffusion如何写好prompt 一_牧子川的博客-CSDN博客 AI绘图(4)stable diffusion如何写好prompt …

nodejs里面的event loop

1. event loop 1.1 什么是event-loop js的标准文档定义如下 https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop#event_loop https://javascript.info/event-loop html的标准定义 https://html.spec.whatwg.org/multipage/webappapis.html#event-loop-proc…

CNN 02(CNN原理)

一、卷积神经网络(CNN)原理 1.1 卷积神经网络的组成 定义 卷积神经网络由一个或多个卷积层、池化层以及全连接层等组成。与其他深度学习结构相比,卷积神经网络在图像等方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他浅层或深度神经…

Dreamweaver软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Dreamweaver软件是一款专业的网页开发工具,由Adobe公司开发并广泛应用于Web开发领域。它提供了一站式的网页开发解决方案,包括网页设计、网页编程、网站管理和移动应用开发等功能。 Dreamweaver软件具有…

云计算服务体系-架构真题(十四)

云计算服务体系结构SaaS、PaaS、IaaS相对应分别()。 答案。应用层、平台层、基础设施层 (2022)给定关系模式R(U,F),其中U为属性集,F是U的一组函数依赖,那么函数依赖的公理系统(Armstrong)中分解规则是指(&…

API管理测试 - 最佳实践和关键要素

什么是API管理测试? API管理测试是在软件开发和集成功能中对应用程序接口(API)进行测试和验证的过程。它涵盖了测试API的功能、性能、安全性以及与其他系统的交互。API管理测试对于确保API的正确运行和稳定性非常重要。 ​ 为什么API管理测…

39.RESTful案例

RESTful案例 准备环境 Employee.java public class Employee {private Integer id;private String lastName;private String email;//1 male, 0 femaleprivate Integer gender; } //省略get、set和构造方法EmployeeDao.java package com.atguigu.SpringMVC.dao;import com.…

【springboot】WebScoket双向通信:

文章目录 一、介绍:二、案例:三、使用:【1】导入WebSocket的maven坐标【2】导入WebSocket服务端组件WebSocketServer,用于和客户端通信【3】导入配置类WebSocketConfiguration,注册WebSocket的服务端组件【4】导入定时…

神经网络学习小记录75——Keras设置随机种子Seed来保证训练结果唯一

神经网络学习小记录75——Keras设置随机种子Seed来保证训练结果唯一 学习前言为什么每次训练结果不同什么是随机种子训练中设置随机种子 学习前言 好多同学每次训练结果不同,最大的指标可能会差到3-4%这样,这是因为随机种子没有设定导致的,我…

Django项目第一次打开加载不出css文件

你需要找到setting.py如下部分 修改你存放css文件和js等文件的目录 指定正确,本地就能跑了

[好书推荐] 之 <趣化计算机底层技术>

趣化计算机底层技术 底层技术优势购买 底层技术 相信很多老铁跟我一样, 在深入了解底层技术的时候 — — 就很头大 很多书籍看上去跟一个 老学究 一样, 说的话不是我们这些小白看的懂得… 看不懂就会 打击我们的自信心我们就有可能找一堆理由去玩(理所应当地去玩的那一种, 反…

如何使用腾讯云服务器搭建网站?新手建站教程

使用腾讯云服务器搭建网站全流程,包括轻量应用服务器和云服务器CVM建站教程,轻量可以使用应用镜像一键建站,云服务器CVM可以通过安装宝塔面板的方式来搭建网站,腾讯云服务器网分享使用腾讯云服务器建站教程,新手站长搭…