SpriteJS - 360 奇舞团出品的高性能开源 web 图形和动画系统

一款跨终端 canvas 绘图框架,canvas 做动画从来没有这么简单过。

SpriteJS 介绍

SpriteJS 是跨平台的高性能图形动画系统,通过封装好的简单方法实现在 web、node、桌面应用和小程序上的图形绘制和各种流畅的动画效果。由 360 公司的前端团队 360 奇舞团开发以及维护。

最新的 SpriteJS Next 是 SpriteJS 的新版本,在浏览器端支持 webgl2 渲染,并可向后兼容降级为 webgl 和 canvas2d。

spritejs 官方文档
spritejs 官方文档

SpriteJS 技术特性

  • 操作简单,像操作DOM对象一样操作画布上的图形元素
  • 基于 canvas 绘制的文档对象模型,也支持高性能的 WebGL2 渲染
  • 支持多图层处理图形、文本、图像渲染
  • 四种基本精灵类型:Sprite、Path、Label、Group
  • 支持基础和高级的精灵属性,精灵盒模型、属性与 CSS3 具有高度一致性。
  • 简便而强大的 Transition、Animation API
  • 支持雪碧图和资源预加载
  • 可扩展的事件机制
  • 高性能的缓存策略
  • 对 D3、Matter-js、Proton和 其他第三方库友好
  • 跨平台,支持 node-canvas 、微信小程序
  • 支持在 Vue.js 中使用以及服务端渲染

SpriteJS 能用来做什么?

熟悉 canvas 的开发者应该知道,使用 canvas 语法去画图形和做动画非常繁琐,SpriteJS 最突出的特点就是通过封装简化了动画效果的开发难度,不仅节省了代码量,也让代码更清晰易维护,同时实现的动画效果也非常好。

spritejs 动画示例
spritejs 动画示例

作为一款图形绘制以及动画系统,SpriteJS 能实现很多新奇的效果,被运用在各种交互丰富的动态图表、营销活动、小游戏场景中,甚至可以单独用来做游戏。

SpriteJS 支持在 Vue(衍生版为 SpriteVue)和微信小程序中使用,那些 CSS 难以实现的效果,试试用 SpriteJS 来实现吧。

SpriteJS 还支持在 node 服务端渲染,此类的应用场景一般是将绘制好的图形保存成 png 图片,或者将动画保存成 gif 输出给前端。

上手开发体验感受

SpriteJS 官方的文档写得很清晰,且配有大量所见即所得的代码范例,如果有使用专门的 H5 游戏框架的经验,上手完全没难度,而且我觉得 SpriteJS 比游戏框架理解起来要更简单。

大量代码范例
大量代码范例

免费开源说明

SpriteJS 由 360 奇舞团出品,基于 MIT 开源协议托管在 Github 上,可以免费使用并且开放了源码,任何个人和公司都可以免费用在自己的项目上。