面向开发者的新功能 - 由 WebAssembly 提供

展示 WebAssembly 为 Web 上提供的各种工具。

Thomas Nattestad
Thomas Nattestad

借助 WebAssembly,开发者可以使用其他语言为 Web 带来高性能的新功能。在过去几年里,开发者确实充分利用了这些可能性。本文仅展示了 WebAssembly 带来的部分新工具,它们可以为您带来诸多益处。

您现在可以使用的工具和库

言归正传,进入精彩内容 :D

SQLite

这款完整的 SQLite 移植版本为您提供了一个轻量级的嵌入式关系型数据库管理系统。如需了解详情,请阅读这篇博文,了解这款出色的充电器以及如何使用它

FFmpeg.wasm

FFmpeg 是一个免费的开源软件项目,由一套用于处理视频、音频和其他多媒体文件和流的库和程序组成。您可以点击此处GitHub 代码库)找到 wasm 编译版本,以便直接在浏览器中执行所有这些功能。

通用场景说明(美元)

通用场景描述 (USD) 是一个 3D 计算机图形数据框架,专注于协作、无损编辑,并支持对图形数据进行多视图和多观点的处理。它是 Pixar、Autodesk、Nvidia 等众多公司支持的行业标准。虽然 Web 版支持功能仍处于起步阶段,但 Autodesk 已开源基于 Web 的 USD 查看器,您可以点击此处查看。

CanvasKit

CanvasKit 是 Skia,即 Chrome 和 Android 的渲染引擎,可直接编译为 WebAssembly。借助它,您可以通过简单的 JavaScript API 访问 Skia 渲染引擎的几乎所有功能。这些功能包括复杂的渲染、文本塑形、动画、手写等。请参阅 npm 软件包快速入门指南

TensorFlow.js

TensorFlow.js 通过简单的 JavaScript API 将 TensorFlow 的强大功能直接引入到浏览器中。在后台,它会优化 GPU 和 CPU 上的模型(包括 SIMD 优化),以最大限度地提高性能。您可以查看入门指南,也可以直接查看一些演示

OpenCV

OpenCV 是一套主要用于实时计算机视觉的业界标准编程函数。此处提供了简单易用的 npm 软件包,对于 Emscripten 用户,我们还提供了有关如何进行完整构建的详细说明。如需了解 SIMD 和线程如何提升这些工作负载的性能,您可以观看 “Modern WebAssembly”Chrome 开发者峰会演讲的这一部分

可可群岛

Cocos 是一款功能强大且广受欢迎的游戏引擎,可让开发者构建支持跨平台(现在包括 Web 平台)的游戏。它加入了通过 wasm 支持 Web 导出的众多游戏引擎的行列。首先,打开 Cocos 编辑器,然后按照这些说明操作。

总结

除了这些具体示例之外,WebAssembly 有可能改变新 Web 功能的开发速度,这让我们感到非常兴奋。Chrome 甚至还设立了高级 Web 应用基金,可帮助开发者获得资金,以便他们改进 Web 功能,让所有开发者都能受益!

主打图片来自 Pexels,作者:Ann Marie Kennon