2015-09-14 7 views
-10

Я хочу разработать диаграммы с библиотекой d3JS с JQuery. Но я видел некоторые статьи/сообщения об использовании d3JS с Angular. Я также знаком с угловым кодированием. Глядя на него в первый раз, мне кажется сложной процедурой по сравнению с использованием d3JS & jQuery. Итак, каковы преимущества выбора одного из методов. И какой из методов подходит для выбора в какой ситуации.Выбор d3JS с Angular vs d3JS с jQuery

Спасибо за помощь.

+3

Can «Я говорю за других избирателей, но этот вопрос выглядит очень открытым. Может быть, если вы можете указать, почему вам трудно выбрать тот или иной, и больше о том, что вы пытаетесь сделать? В каком контексте вы будете использовать эти диаграммы? Почему вам нужно развить их «с помощью jQuery или Angular? –

+0

IMO, вы не должны беспокоиться об использовании 'углового' или' jQuery' вместе с 'd3'. Это отдельная библиотека JS, основанная на данных, сама по себе, и имеет ** NO Dependency ** других js-фреймворков. У этого есть свой [богатый набор API] (https://github.com/mbostock/d3/wiki/API-Reference), в котором есть почти все, с чем можно играть.Это зависит от вашего дизайна приложения. 'D3' будет хорошо играть с любым из них, но снова вам действительно не нужно беспокоиться об этом. – Rohit416

ответ

2

Выполнение функции d.3js в Angular обеспечивает директивы и ожидаемое связывание, которое вам нужно. Более подробное обсуждение в эту статье ... http://www.ng-newsletter.com/posts/d3-on-angular.html

JQuery обеспечивает нормальный подход интеграцию с библиотекой построения графиков с помощью событий и т.д. - В Угловых вы можете вместо этого использовать часы, например

Надеются, что это дает начальная проницательность

+1

Удивительная ссылка, которую вы предоставили. Спасибо. – Giuseppe

+0

См. Также https://www.dashingd3js.com/d3-resources/d3-and-angular – Verhagen

2

Ваш вопрос очень субъективен. Но я постараюсь ответить.

AngularJs - популярная библиотека MVC на стороне клиента. Он имеет очень хорошие привязки для D3.js в виде директив. Однако, поскольку вы, кажется, новичок, вы должны знать, что у AngularJS есть довольно приличная кривая обучения. Также команда AngularJS была занята работой над AngularJS 2.0. Эта версия не будет сложным крупным обновлением, а переписывает всю структуру и будет включать в себя нарушение! Однако у Angular js есть сильное сообщество, и поддержка должна быть доступна в ближайшем будущем. У рамок есть свои плюсы и минусы.

Я бы предложил, если ваш проект представляет собой сложное одностраничное приложение с большим количеством входных параметров, которые могут изменить представление (визуализированный html), тогда вам обязательно нужно перейти на некоторые клиентские рамки, такие как AngularJs. Вы также можете изучить другие среды, такие как ReactJs, для создания пользовательского интерфейса. ReactJs является относительно новым, но получил большую поддержку в сообществе.

Если вы решите отказаться от использования фреймворка, посмотрите на c3.js, который является графической библиотекой на основе d3.js. Если вы хотите использовать простые диаграммы для визуализации данных, C3.js сделает вашу работу намного проще.

В конце концов, выбор использования или без использования рамки во многом зависит от вашего варианта использования.

1

Я не знаю, будет ли полезно: мы используем очень сложную библиотеку с именем sigma.js и как jquery, так и угловатую. И когда речь идет только о событиях, которые сами определены в сигма-библиотеке, а не обязательно об изменении данных в DOM на основе пользовательского ввода, угловому нет необходимости в плюсе по сравнению с jquery, который взаимодействует с DOMs хирургически и эффективно. Но когда в DOM имеется довольно много данных, чтобы обновить обновление, угловые хранят данные модели аккуратно. Наше правило было: происходит ли событие из библиотеки сигмы и нет изменения модели данных? ==> jquery. Последнее заключается в том, что иногда порядок директив не соответствует порядку, который они фактически загружают на страницу, что создало несколько проблем при инициализации, то есть ищет DOM, который на самом деле еще не загружен ...