2013-06-11 7 views
6

Ich plane einen webbasierten Diagrammeditor zu schreiben. Wenn es für den Desktop wäre, hätte ich Eclipse GEF als die Plattform gewählt, um es zu bauen.Ist d3 eine gute Wahl, um einen Freiform-Diagrammeditor zu erstellen?

Für das Web, ich denke über d3.js, aber ich bin ein bisschen besorgt, dass fast jedes Beispiel und Artikel, die ich auf d3 kam für die Visualisierung von Daten, und nicht wirklich für einen interaktiven Punkt-und- Klicken Sie auf, wählen Sie und verbinden Sie, ziehen Sie und ziehen Sie Art der Verwendung.

Ich könnte noch in der Lage sein, diesen Editor kraft- d3 in die Herstellung, aber dann frage ich mich, wenn d3 in einer Weise entwickeln würde, dass es immer wieder schmerzhaft machen würde, der Editor für die Zukunft zu erhalten.

Also meine Frage an die Gemeinschaft ist: aus Sicht der Softwarearchitektur, ist d3 eine gute Wahl für den Aufbau eines Freiformdiagrammeditors? Können Sie mich auf API, d3 internen Code, Artikel oder Beispiele verweisen, die beweisen würden, dass ein solcher Editor langfristig bestehen kann?

+0

Dies ruft nach Meinung, also Abstimmung zu schließen. –

+0

Bearbeitet, um es weniger von einer offenen Meinung zu machen, die zu einer Frage Stellung nimmt, die eindeutig beantwortet werden kann. – Pradyumna

Antwort

10

Wenn die Frage war: "Kann D3 mir bei den SVG-Interaktionen bei der Erstellung eines webbasierten Diagrammeditors helfen?", Dann lautet die Antwort "Ja, ein bisschen". Aber du startest auf ein sehr großes Projekt, und D3 kann dir nur mit einigen Teilen davon helfen.

Beispiele für Bereiche, in denen D3 von Nutzen sein kann:

Insgesamt Ich glaube, Sie sind wahrscheinlich für einen übergeordneten Rahmen suchen, wenn Sie fast jeden Aspekt von dem, was D3 bereit zu steuern sind tut.

Sie haben recht, dass die meisten Hilfsmethoden, die D3 bietet, auf Datenvisualisierung ausgerichtet sind, aber es bietet eine dünne Ebene über SVG, die für ein allgemeines Projekt wie Sie es beschreiben hilfreich sein kann.

Zur Frage, ob D3 in eine Richtung entwickeln wird das könnte es in Zukunft weniger geeignet für dieses Projekt machen: nur @mbostock sicher wissen kann, aber das Design der API gegeben, die sie entweder verwendet werden können SVG oder HTML-Knoten Manipulation, ich denke, es ist sicher zu sagen, dass es ziemlich niedrigen Niveau bleiben wird. Und Sie haben wahrscheinlich this example vorher gesehen, aber es ist eine gute Illustration der Macht der Bibliothek jenseits von Diagrammen & Graphen.

1

D3 ist "nur" ein Framework und kann daher für fast alles verwendet werden. Es klingt aber so, als ob es nicht besonders gut zu dem passt, was Sie versuchen zu tun. Insbesondere klingt es nicht nach dem Hauptkonzept von D3 - dass alles von den Daten getrieben wird - wäre hier von Vorteil.

+0

Stimmen Sie insgesamt überein, würden aber den Ansatz "alles wird von den Daten getrieben" nicht vollständig abwerten. Sie müssen die vorhandenen Diagramme irgendwie rendern, und sie sind Daten (Knoten, Formen, Verbindungen usw.) – explunit

Verwandte Themen