Является ли d3 хорошим выбором для создания редактора диаграмм произвольной формы?

Я планирую написать веб-редактор диаграмм. Если бы это был рабочий стол, я бы выбрал Eclipse GEF в качестве платформы для его создания.

Для веба я рассматриваю d3.js, но меня немного беспокоит, что почти каждый пример и статья, которые я встречал на d3, были для визуализации данных, а не для интерактивного метода «укажи и щелкни, выбери- и-соединение, перетаскивание типа использования.

Я все еще мог бы принудительно встроить d3 в создание этого редактора, но тогда мне интересно, будет ли d3 развиваться таким образом, что будет постоянно мучительно поддерживать редактор в будущем.

Итак, мой вопрос к сообществу: с точки зрения архитектуры программного обеспечения, является ли d3 хорошим выбором для создания редактора диаграмм произвольной формы? Не могли бы вы подсказать мне API, внутренний код d3, статьи или примеры, которые доказывали бы, что такой редактор может работать в долгосрочной перспективе?


person Pradyumna    schedule 11.06.2013    source источник
comment
Это требует мнения, поэтому голосование закрывается.   -  person Marc B    schedule 11.06.2013
comment
Отредактировано, чтобы сделать его не столько открытым вопросом для сбора мнений, сколько вопросом, на который можно дать недвусмысленный ответ.   -  person Pradyumna    schedule 11.06.2013


Ответы (2)


Если бы вопрос был «Может ли D3 помочь мне с взаимодействием SVG, связанным с созданием веб-редактора диаграмм?», то ответ был бы «Да, немного». Но вы приступили к очень большому проекту, и D3 может помочь вам только с некоторыми его частями.

Примеры областей, в которых D3 может быть полезен:

В целом, я думаю, вы, вероятно, ищете структуру более высокого уровня, если вы не готовы контролировать почти каждый аспект того, что делает D3.

Вы правы в том, что большинство вспомогательных методов, предоставляемых D3, ориентированы на визуализацию данных, но он предоставляет тонкий слой поверх SVG, который может быть полезен для проекта общего назначения, как вы описываете.

Что касается того, будет ли D3 развиваться в направлении, которое может сделать его менее подходящим для этого проекта в будущем: только @mbostock может знать наверняка, но, учитывая дизайн API, который позволяет использовать его для будь то манипулирование узлами SVG или HTML, я думаю, можно с уверенностью сказать, что он останется на довольно низком уровне. И вы, вероятно, уже видели этот пример, но он хорошо иллюстрирует возможности библиотеки, выходящие за рамки диаграмм. и графики.

person explunit    schedule 11.06.2013

D3 — это «просто» фреймворк, и поэтому его можно использовать практически для чего угодно. Однако это звучит так, как будто это не особенно хорошо подходит для того, что вы пытаетесь сделать. В частности, не похоже, что основная концепция D3 — что все управляется данными — была бы здесь полезной.

person Lars Kotthoff    schedule 11.06.2013
comment
В целом согласен, но не стал бы полностью сбрасывать со счетов тот факт, что все определяется подходом к данным. Вы должны каким-то образом визуализировать существующие диаграммы, и они представляют собой данные (узлы, фигуры, соединения и т. д.). - person explunit; 11.06.2013