HTML canvas JavaScript 库和框架的当前状态是什么?

IT技术 javascript frameworks html canvas
2021-03-12 03:34:15

我目前正在研究在新的 HTML 5 应用程序中使用画布的选项,并且想知道 HTML 画布 JavaScript 库和框架的当前状态是什么?

特别是,是否有支持游戏开发所需的框架——复杂动画、管理场景图、处理事件和用户交互?

也愿意考虑商业和开源产品。

6个回答

Fabric.js 截图

我一直在研究fabric.js——一个画布库来帮助解决这个问题——通过处理事件和用户交互来操作画布上的对象。它尚未发布,但请看一个简单的预览演示

您还可以在最初为其创建的设计编辑器中看到它的运行情况。

编辑:该项目现在在 github 上可用(在 MIT 许可下开源)

要开始,请查看:

Fabric 与其他 Javascript 画布库相比如何?这是一个比较表

任何地方都有fabric.js 的项目页面吗?我很想了解更多关于它的信息。
2021-04-22 03:34:15
这是一个非凡的演示,非常令人印象深刻的项目
2021-05-03 03:34:15
哇,正是我需要的……实际上,我对管理这个库无缝处理的函数有多么困难感到沮丧!
2021-05-10 03:34:15
@musicfreak 是的,ExplorerCanvas。顺便说一句,它使用其原生画布支持在 IE9(第 4 次预览)中通过了所有 ~900 次测试。
2021-05-11 03:34:15
它在 IE 上做什么?探索者canvas?
2021-05-15 03:34:15

我很惊讶没有人提到WebGL和基于它的框架。我认为它在 HTML 画布 / javascript 上的 3D GPU 加速图形和复杂动画的最先进技术列表中名列前茅。

WebGL 是一种跨平台、免版税的 Web 标准,用于基于 OpenGL ES 2.0 的低级 3D 图形 API,通过 HTML5 Canvas 元素作为文档对象模型接口公开。...

WebGL 为网络带来了无插件的 3D,直接在浏览器中实现。主要的浏览器供应商 Apple (Safari)、Google (Chrome)、Mozilla (Firefox) 和 Opera (Opera) 都是 WebGL 工作组的成员。

WebGL 对 GPU 加速图形的支持非常可靠。查看这些 GLSL着色器 演示:-) 并将ChemDoodle作为用户交互的示例。

我一直在使用 Google 的O3D框架开发一个应用程序,该框架管理场景图,并使用 WebGL 进行渲染(它曾经使用自己的插件)。O3D 是一项正在进行的工作,它的文档不是完全最新的,但它正在积极开发中,并且有一些很好的演示3D 泳池可能最适合您。Google 开发人员对讨论组中的问题非常敏感。

还有许多其他框架构建在 WebGL 之上;看到这里提到游戏开发和场景图的有 Copperlicht、SceneJS、X3DOM。

WebGL 在多个浏览器的最新开发版本中运行,但不能在 IE 中运行。我一直在使用 Firefox(“Minefield”)和 Chromium,效果很好。您将需要其中之一来运行上述演示。

但是,如果您的要求是它必须没有超出 HTML 5 canvas / js 的依赖项,那么 WebGL 可能不是正确的选择。看起来并不像IE浏览器将支持它很快。

更新:在经受了很多阻力之后,MS决定在 IE 11 中支持 WebGL

@nube:好点。Three.js 可以在 WebGL、SVG 或普通 (2D) 画布上呈现。
2021-04-19 03:34:15
Three.js 在 webgl 上运行
2021-05-04 03:34:15

三.js,由先生。doob是一款出色的 JavaScript 3d 引擎,包括场景图(软件和 WebGL/硬件加速版本)、阴影、粒子、蒙皮动画(我认为)和灯光效果。一看就知道是个超有才的人。

我应该补充一点,您将需要最新的 Google Chrome 或同等版本才能查看大部分演示,我最喜欢的一个是:http : //mrdoob.github.com/three.js/examples/webgl_materials_cars.html

这个演示实际上更好:carvisualizer.plus360degrees.com/threejs
2021-05-12 03:34:15

KineticJS 是一个新兴的库,它吹嘘在画布上创建和动画单独的“层”以获得高性能。

http://www.kineticjs.com/

github.com/ericdrowell/KineticJS/#mothballed说“我将不再维护这个 repo 或官方 KineticJS 网站,因为我已经转移到其他企业和项目上”并且 GitHub 报告了 147 个未解决的问题
2021-05-04 03:34:15
惊人的。看起来相当精致。在操作系统的世界中,您距离积极维护只有 1 个狂热者的距离:)
2021-04-25 03:34:15