7

我正计划编写一个基于 Web 的图表编辑器。如果是桌面,我会选择Eclipse GEF作为构建它的平台。

对于网络,我正在考虑 d3.js,但我有点担心,我在 d3 上遇到的几乎所有示例和文章都是用于可视化数据,而不是真正用于交互式点击,选择 - and-connect,拖放式的用法。

我可能仍然可以强制将 d3 融入到这个编辑器的制作中,但是我想知道 d3 是否会以某种方式发展,这会使维护编辑器继续前进变得痛苦。

所以我向社区提出的问题是:从软件架构的角度来看,d3 是构建自由格式图表编辑器的好选择吗?你能给我介绍一下 API、d3 内部代码、文章或示例,以证明这样的编辑器可以长期存在吗?

4

2 回答 2

13

如果问题是“D3 可以帮助我处理创建基于 Web 的图表编辑器所涉及的 SVG 交互吗?”,那么答案将是“是的,一点点”。但是您正在着手进行一个非常大的项目,而 D3 只能帮助您完成其中的某些部分。

D3 可以提供帮助的领域示例:

总的来说,我认为您可能正在寻找更高级别的框架,除非您准备好控制 D3 所做的几乎所有方面。

你是对的,D3 提供的大多数辅助方法都面向数据可视化,但它确实在 SVG 上提供了一个薄层,对你描述的通用项目很有帮助。

至于 D3 是否会朝着可能使其未来不太适合这个项目的方向发展:只有@mbostock 可以确定,但考虑到 API 的设计使其可用于 SVG 或 HTML 节点操作,我认为可以肯定地说它将保持相当低的水平。您之前可能已经看过这个示例,但它很好地说明了库在图表之外的强大功能。

于 2013-06-11T19:13:35.050 回答
2

D3“只是”一个框架,因此几乎可以用于任何事情。但是听起来确实不太适合您正在尝试做的事情。特别是,这听起来不像 D3 的主要概念——一切都由数据驱动——在这里会有所帮助。

于 2013-06-11T16:59:54.963 回答