如果您计划在“HTML5”中实施(复杂的,交互式的)网络图,这是一种正确的方法,这是建模工具的一部分 - 例如让用户设计工作流程?
SVG是正确的方法还是直接使用Javascript / Canvas?那里有没有任何高效的应用程序,这已经证明这在HTML5中是可行的(网络模型可能非常复杂),特别是在性能方面?
我不需要任何实现细节,只需要提示'正确'的技术,如果你'被迫'在HTML5中这样做......
感谢。
答案 0 :(得分:1)
svg现在得到了ie9的支持。大多数现代浏览器都支持canvas,并且所有人都支持css。
svg具有可扩展性的优势(“图像”是一个矢量地图,因此用户可以在他喜欢的每个尺寸中使用它),但渲染的性能有点糟糕。您可以将一些事件绑定到元素..
画布就像GDLib或ImageMagick,你有一张白纸,你可以在上面绘图。因此,如果您进行更改,首先必须清除画布并重绘所有内容。您不知道用户点击了哪个元素,并且只能为整个canvas元素绑定事件。
使用HTML和DOM与CSS是一种替代方案,因为您可以开始移动网络元素并将事件绑定到网络的节点。但是线条很难实现(可以使用带顶边的旋转div)
我个人会选择svg和普通html之间的混合,但话又说回来,我不知道你的应用程序的每个用例。