面向开发者的全新功能——由 WebAssembly 倾情呈现

展示借助 WebAssembly 在 Web 上可用的工具。

Thomas Nattestad
Thomas Nattestad

WebAssembly 使开发者能够将来自其他语言的全新高性能功能引入 Web。在过去几年中,开发者们充分利用了这种可能性。这篇文章展示了您可以从中受益的几个闪亮的新工具,这部分归功于 WebAssembly。

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

事不宜迟,让我们直接进入精彩内容 :D

SQLite

SQLite 的完整移植版为您带来了轻量级、嵌入式关系数据库管理系统。要了解更多信息,请阅读这篇博客文章,其中展示了这个令人难以置信的移植版本以及如何使用它

FFmpeg.wasm

FFmpeg 是一个免费的开源软件项目,包含一套用于处理视频、音频和其他多媒体文件和流的库和程序。您可以在这里找到 wasm 编译版本 (github 仓库),让您直接在浏览器中完成所有这些功能。

通用场景描述 (USD)

通用场景描述 (USD) 是一个用于 3D 计算机图形数据的框架,专注于协作、非破坏性编辑以及支持关于图形数据的多种视图和观点。它是皮克斯、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

Cocos 是一款强大而流行的游戏引擎,使开发者能够构建具有跨平台支持的游戏,现在也包括 Web。它加入了通过 wasm 实现 Web 导出的长长的游戏引擎列表。要开始使用,请进入 Cocos 编辑器并按照这些说明操作。

总结

除了这些具体示例之外,WebAssembly 在改变新 Web 功能的步伐方面的潜力也令人兴奋。Chrome 甚至设立了高级 Web 应用基金,可以帮助开发者资助他们的工作,以提升所有开发者可用的 Web 功能!

题图来自 Pexels,摄影师 Ann Marie Kennon