Paper.js VS EaselJS VS Fabric.js vs KineticJS

时间:2012-08-07 13:42:14

标签: html5 canvas frameworks

大家好我是html5 canvas开发的新手,我在选择canvas框架时迷失了方向。有这么多我无法找到使用的东西。所以我来了!我希望你的帮助可以选择哪一个更符合我的需求。有我的需求

1)我希望框架使用矢量图形,我知道画布不是DOM,我真的不关心它,但我的意思是我想在创建后操纵对象,PaperJS有这个功能我不喜欢了解他人。如果有高级鼠标事件可用,那就更好了。

2)我想使用图像框架,我将加载图像并用画布动画它们,移动,动画一些颜色......

3)我希望框架因我的需要而快速(图像动画应该是平滑的)

4)我希望框架拥有良好的社区,因为我知道我需要一些帮助。

那么您认为哪一个对我更好?如果你能从我的清单上写下每个框架的优点和缺点,请取悦?

1 个答案:

答案 0 :(得分:3)

HTML5 canvas仍然是非常新鲜的环境。你可以得到很多已经有的工具,但它们往往很不成熟。

我的回答只会涵盖部分问题,因为我只使用了KineticJS和EaselJS。 你可以从this page阅读意见开始(我的是底部的最后一个)。

简言之,KineticJS的进入壁垒较低。它是简单的绘图库,也支持鼠标事件。当我试图使用它时,几乎无法扩展。我发现很难根据我的需求进行定制。 EaselJS有点难以开始,但它也更先进。现在它是其他libs的一部分,它们一起被称为CreateJS。似乎很多发展都在附近。

  1. Kinetic和Easel都支持鼠标事件。我不记得了 尽管如此,动能,传感'onMouseOver'与Easel相当。 两个提到的libs都允许对象操作。你可以找到 这里TweenJS也可以作为补充。
  2. 同样,Kinetic和Easel都允许这样做。画架也有支持 精灵 - '动画图像'以网页游戏开发者而闻名。
  3. 我不确定Kinetic,因为我没有达到我的动画部分 放弃它之前的项目(lib,而不是项目)。随着画架 速度很棘手。它有一些实现的优化方法 例如,对象缓存或snapToPixel标志。示例似乎在运行 真的很好。然而,对于我使用Easel平滑度的项目仍然是 尽管在优化方面投入了大量精力,但这是一个问题。也许我 滥用API或仍有更多优化的地方我 没注意到。
  4. 两个lib都很年轻,但似乎是积极开发的。 作者反应灵敏。社区仍然不大,但我 猜想CreateJS是用于创建游戏的更完整的工具集 增长得更快。
  5. 如果您想在此处查看the project I mentioned。这是一个使用EaselJS + TweenJS制作的网页。仍需要一些细微的调整。