2013-06-11 7 views
6

Sto pianificando di scrivere un editor di diagrammi basato sul web. Se fosse per il desktop, avrei scelto Eclipse GEF come piattaforma per costruirlo.d3 è una buona scelta per creare un editor di diagrammi a forma libera?

Per il web, sto considerando d3.js, ma sono un po 'preoccupato che quasi tutti gli esempi e gli articoli che ho trovato su d3 riguardavano la visualizzazione dei dati, e non proprio per un punto interattivo e clicca, seleziona e connetti, trascina il tipo di utilizzo.

Potrei ancora essere in grado di forzare d3 alla creazione di questo editor, ma poi mi chiedo se d3 si evolverà in modi che renderebbero continuamente doloroso mantenere in futuro l'editor.

Quindi la mia domanda alla comunità è: da un punto di vista dell'architettura software, d3 è una buona scelta per creare un editor di diagrammi a forma libera? Mi puoi collegare all'API, al codice interno d3, agli articoli o agli esempi che dimostrerebbero che un editor di questo tipo può resistere a lungo termine?

+0

Questo richiede un parere, quindi il voto per chiudere. –

+0

Modificato per rendere meno di una domanda aperta di sollecitazione di opinioni a una persona che può essere "risposta" in modo non ambiguo. – Pradyumna

risposta

10

Se la domanda fosse "Può D3 aiutarmi con le interazioni SVG coinvolte nella creazione di un editor di diagrammi basato sul web?", La risposta sarebbe "Sì, un po '". Ma stai partendo per un progetto molto grande, e D3 può aiutarti solo con alcune parti di esso.

Esempi di aree in cui D3 può essere di aiuto:

complesso credo che probabilmente siete alla ricerca di un quadro di livello superiore a meno che non si è pronti a controllare quasi ogni aspetto di ciò D3 lo fa.

Hai ragione che la maggior parte dei metodi di supporto forniti da D3 sono orientati alla visualizzazione dei dati, ma fornisce uno strato sottile su SVG che può essere utile per un progetto generico come quello che descrivi.

Quanto alla questione se D3 si evolverà in una direzione che potrebbe rendere meno adatto per questo progetto in futuro: solo @mbostock può sapere con certezza, ma data la progettazione delle API che gli permette di essere utilizzato sia per Manipolazione del nodo SVG o HTML, penso che sia sicuro dire che rimarrà di livello abbastanza basso. E probabilmente hai già visto this example ma è una buona illustrazione del potere della biblioteca oltre i grafici &.

1

D3 è "solo" un framework e come tale può essere utilizzato per quasi tutto. Sembra comunque che non sarebbe particolarmente adatto a quello che stai cercando di fare. In particolare, non sembra il concetto principale di D3 - che tutto è guidato dai dati - sarebbe utile qui.

+0

Accetto nel complesso, ma non scarterebbe completamente l'approccio "tutto è guidato dai dati". Devi renderizzare i diagrammi esistenti in qualche modo, e sono dati (nodi, forme, connessioni, ecc.) – explunit

Problemi correlati