Ответ 1
В этом случае серверная сторона гораздо более развита, чем клиентская. (Богатые библиотеки JS - это новое явление, все.) Django - приемлемый выбор на сервере, хотя я бы хотя бы рассмотрел Twisted.
Моя рекомендация на стороне клиента:
-
Первый вариант paper.js, который является библиотекой для манипулирования холстом. Отличная производительность, позволяет привязывать события, богатые графические операции, учебные пособия являются фантастическими. Похоже, что у него очень мягкая кривая обучения, по сравнению с аналогичным программным обеспечением.
-
Второй выбор - raphael или аналогичная библиотека SVG. Производительность не так хороша, как paper.js, хотя она сильно зависит от того, что будет на экране.
Можете ли вы рассказать о том, какие вещи вы будете делать на клиенте? Количество видимых объектов, какие события будут привязаны к каким объектам, типам графических фильтров, которые вам нужны, и т.д., Все это сильно сообщают об этом выборе.
Вероятно, вы столкнетесь с тем, что будете добиваться хорошей графической производительности на клиенте, поэтому рассчитывайте потратить на это много времени.
Изменить: основываясь на ваших комментариях, я думаю, что вы найдете решение приемлемым, поэтому я склоняюсь к paper.js только потому, что это немного веселее, и если вы действительно пойдете куда-нибудь неожиданным, он сможет туда пойти с вы.
Поскольку ваше приложение звучит так, как будто оно связано с большим количеством графиков, я бы предложил вам проверить HighCharts или другую графическую библиотеку, из которых есть несколько, как коммерческих, так и некоммерческих. Сам HighCharts бесплатный для всех, кроме использования продукции в некоммерческом приложении, и по разумным ценам.