Canvas 要凉了?GitHub 47K+ Star 神器,让 Web 动画性能直接起飞!

0 阅读5分钟

过去几年

如果有人问:前端做动画,用什么?

很多人第一反应都是:CSS Animation、GSAP、Lottie、Three.js

但如果你想做的是:网页小游戏、粒子特效、数据可视化、2D 编辑器、数字大屏、H5 营销互动

真正绕不开的名字只有一个:PixiJS

它已经成为 Web 2D 图形领域最经典的开源引擎之一。

GitHub 47K+ Star

被大量游戏、互动广告、可视化平台和创意网站使用。

而就在最近,PixiJS 官方再次公布了最新进展。

社区活跃度持续提升,版本不断迭代,整个生态比很多人想象中还要活跃。

很多开发者这才发现:原来网页里的那些炫酷动画,很多都是 PixiJS 做的。

PixiJS 到底是什么?

官方定义非常简单:

Next-Generation Fastest HTML5 Creation Engine for the Web

简单理解就是:

Canvas
+
WebGL
+
WebGPU
+
2D 图形引擎
=
PixiJS

它不是一个 UI 框架,也不是动画库,而是一个专门负责 高性能 2D 渲染 的图形引擎。

为什么大家都在用它?

很多人第一次接触 Canvas,都会遇到同样的问题。

原生 Canvas:自己管理坐标、自己管理动画、自己管理资源、自己管理事件、自己优化性能,项目稍微复杂一点,代码马上失控。

而 PixiJS 做的事情就是:把这些底层能力全部封装好。

开发者只需要关注:Sprite、Container、Texture、Animation、Interaction 剩下交给引擎。

Sprite

Container

它真的快

PixiJS 最大标签一直都是:Fast 官方一直强调它支持:WebGL、WebGPU

并针对现代浏览器进行了大量性能优化。

早在 v8 发布时,官方就公布过一组 Benchmark,在大量 Sprite 渲染场景下,CPU、GPU 渲染性能相比 v7 都有明显提升。

尤其对于:粒子系统、大量精灵、高频动画 优势非常明显。

WebGPU 时代,它已经准备好了

过去几年,浏览器最大的变化是什么?

很多人都会说:WebGPU。

而 PixiJS 很早就开始布局,新版已经支持:

WebGL
↓
WebGPU

自动根据环境选择合适的渲染后端。

意味着:未来浏览器图形能力越来越强,PixiJS 也能第一时间受益。

不只是游戏

很多人误以为:PixiJS 只能开发小游戏。

实际上,它的应用远远不止这些。

例如:

  • 营销 H5
  • 数据可视化
  • 数字大屏
  • 流程编辑器
  • 白板应用
  • 低代码平台
  • 电子地图
  • AI 可视化

很多企业后台,也开始大量使用 PixiJS。

因为:Canvas 在复杂节点场景下,往往比 DOM 更流畅。

API 非常简单

官方示例只有几行代码:

import { Application, Assets, Sprite } from "pixi.js";

const app = new Application();

await app.init({
  resizeTo: window,
});

document.body.appendChild(app.canvas);

const texture = await Assets.load("bunny.png");

const bunny = new Sprite(texture);

app.stage.addChild(bunny);

一个可以运行的渲染应用,几分钟就能完成。

资源管理越来越完善

新版 PixiJS 对资源系统进行了持续优化。

官方内置:

  • Assets Loader
  • Texture
  • SVG
  • Fonts
  • Dynamic Textures

统一管理各种资源,不用再自己维护复杂的加载流程。

最近更新越来越频繁

很多人以为:PixiJS 是"老项目",其实恰恰相反。

官方目前已经采用:月度版本发布节奏。

持续更新:新功能、文档、API、性能优化

最近几个版本,不断完善:文档体系、Text 渲染、GPU 生命周期管理、渲染控制能力 整个项目依旧保持非常活跃。

React、Vue 也能直接用

很多前端担心:PixiJS 会不会不好集成?其实官方生态已经非常成熟。无论:React、Vue、Vite 都可以快速接入。

官方甚至推出了:PixiJS React v8

进一步降低 React 项目的接入成本。

PixiJS VS Three.js

很多人经常拿它们比较。

其实两者解决的问题不同。

对比PixiJSThree.js
定位2D 图形引擎3D 图形引擎
学习成本更低更高
WebGL
WebGPU持续演进
粒子动画
UI 可视化更适合一般
游戏2D3D

如果你的目标是:H5、大屏、编辑器、可视化 PixiJS 往往更加合适。

如果是:3D 场景、CAD、数字孪生、元宇宙 Three.js 更有优势。

快速上手

创建项目:

npm create pixi.js@latest

已有项目安装:

npm install pixi.js

官方提供:Guides、API、Playground、Examples学习成本非常低。

为什么它还能一直火?

因为今天前端已经不只是简单的页面、表单、后台

越来越多项目开始变成:AI 可视化、数据驾驶舱、在线设计、H5 营销、图形编辑器、游戏化交互

这些都需要:高性能 2D 渲染。

而 PixiJS,十几年来一直专注这一件事。

最后

过去很多人觉得:Canvas 太底层,不好维护,不好开发。而 PixiJS 给出了另一种答案,它没有试图成为 React,也没有试图取代 Three.js。而是专注做好:Web 世界最快、最成熟的 2D 图形引擎之一。

如果你正在做:数据可视化、AI 产品、H5 营销、游戏开发、编辑器、Canvas 项目 PixiJS 绝对值得收藏。

官网: pixijs.com/

GitHub: github.com/pixijs/pixi…

你用过 PixiJS 吗?评论区聊聊~


各位互联网搭子,要是这篇文章成功引起了你的注意,别犹豫,关注、点赞、评论、分享走一波,让我们把这份默契延续下去,一起在前端的海洋里乘风破浪!