2013-06-11 14 views
6

Mam zamiar napisać internetowy edytor diagramów. Gdyby było to na pulpicie, wybrałbym platformę do jego zbudowania jako Eclipse GEF.Czy d3 jest dobrym wyborem do budowy edytora diagramów swobodnych?

Dla web, rozważam d3.js, ale trochę martwię się, że prawie każdy przykład i artykuł, który spotkałem na d3, służy do wizualizacji danych, a nie do interaktywnego punktu-i- kliknij, wybierz i połącz, przeciągnij i narysuj rodzaj użycia.

Być może nadal będę w stanie dopasować d3 do tego edytora, ale zastanawiam się, czy d3 będzie ewoluował w sposób, który sprawi, że bolesne będzie utrzymanie edytora w przyszłości.

Moje pytanie do społeczności brzmi: czy z punktu widzenia architektury oprogramowania d3 jest dobrym wyborem do budowy edytora diagramów swobodnych? Czy możesz polecić mi API, d3 wewnętrzny kod, artykuły lub przykłady, które udowodniłyby, że taki edytor może przetrwać na dłuższą metę?

+0

To wymaga opinii, więc głosowanie zostanie zakończone. –

+0

Zmieniono tak, aby było mniej otwartym pytaniem o opinię skierowaną do osoby, na którą można odpowiedzieć w jednoznaczny sposób. – Pradyumna

Odpowiedz

10

Jeśli pytanie brzmiało "Czy D3 może mi pomóc w interakcjach SVG związanych z tworzeniem edytora diagramów internetowych?", Odpowiedź brzmi "Tak, trochę". Ale wybierasz się na bardzo duży projekt, a D3 może ci tylko pomóc w niektórych jego częściach.

Przykłady obszarów, gdzie D3 mogą być pomocne:

Ogólnie myślę, że jesteś prawdopodobnie szuka ramach nadrzędnego, chyba że jesteś przygotowany do kontroli niemal każdy aspekt tego, co D3 robi.

Masz rację, że większość metod pomocniczych, które oferuje D3, jest nastawiona na wizualizację danych, ale zapewnia cienką warstwę na SVG, która może być pomocna w projektach ogólnych, takich jak opisujesz.

Jako, czy D3 będzie ewoluować w kierunku, który może uczynić go mniej nadaje się do tego projektu w przyszłości: tylko @mbostock może wiedzieć na pewno, ale biorąc pod uwagę projekt API, które pozwala on być stosowany zarówno dla Manipulacja węzłem SVG lub HTML, myślę, że można bezpiecznie powiedzieć, że pozostanie dość niski poziom. I prawdopodobnie już wcześniej widziałeś this example, ale jest to dobra ilustracja mocy biblioteki poza wykresami &.

1

D3 to "po prostu" szkielet i jako taki może być używany niemal do wszystkiego. Brzmi jednak tak, jakby nie był szczególnie odpowiedni dla tego, co próbujesz zrobić. W szczególności nie brzmi to jak główna koncepcja D3 - że wszystko zależy od danych - byłaby tu korzystna.

+0

Zgadzam się ogólnie, ale nie całkowicie pominęłbym podejście "wszystko zależy od danych". Musisz jakoś zrenderować istniejące diagramy i są to dane (węzły, kształty, połączenia itp.) – explunit