Форум сайта python.su
Вопрос не совсем по питону.
Планируется разработка сайта в основном для отображения данных на веб страничках и чуток для взаимодействия с пользователями.
Параметры выдачи:
до 3000 элементов на странице, темп обновления изображения 50 миллисекунд. Ну если получится конечно. Некоторые источники данных естественно трактовать как вектора. Перечень данных для отрисовки не меняется.
Сеть локалка. Основные элементы наверное svg хотя можно и ctx. Количество контролов пользователя до 100 на страницу.
Латентность при реакции на воздействия пользователя (клики) не более 300 миллисекунд.
Время загрузки страниц не нормируется.
Полное число отображаемых сигналов не более 1000000. Одновременно работающих клиентов не более 10.
Данные на сервере обновляются блоками, те можно обновлять все изображение по приходу блока данных не разбираясь что поменялось а что нет.
Какую посоветуете технологию для привязки данных к изображению на странице (angular, ReactJS, Backbone.js, knockout, d3, xslt, просто ручками написать, по возможности утянув формирование картинок на сервер).
Картинки это - лампочки тумблеры, семисегментные индикаторы и прочие структуированные вещи. Т.е. может быть нетривиальная логика преобразования данных в состояние изображения.
Количество различных типов отображающих элементов не более 1000. Но это все равно требует решения вопроса об организации их разработки и использования.
Какой формат передачи данных для этого подходит? (msgpack. trift, protocol buffer?)
Ну и конечно потянет это flask? Хотя понятно, сервер тут не особо критичен.
Как по вашему возможно такое соорудить?
Отредактировано doza_and (Дек. 4, 2015 22:00:55)
Офлайн
doza_and
до 3000 элементов на странице
doza_and
Полное число отображаемых сигналов не более 1000000
doza_andУ меня есть не очень удачный опыт с angularjs - по нему, на таком количесве элементов он будет тормозить.
различных типов отображающих элементов не более 1000
doza_andА вот это - плохая идея, imho - проще отрисовать все состояния и отдавать как css-спрайт, иначе вы забьете канал и не сможете добится своих показателей.
утянув формирование картинок на сервер
Офлайн
s0rgБенчмарки одно, а живой опыт совсем другое. Задача очень специфическая. Судя по тестам надо заниматься велосипедостроением или использовать относительно низкоуровневые библиотеки ReactJS, d3.js
есть же бенчмарки, они вас не устравивают? )
s0rgЯ имел ввиду что “элемент отображения” сначала строится по одной группе данных из СУБД, а потом это изображение обновляется по другой, значительно меньшей группе. Первичное построение, происходящее во время загрузки страницы можно выполнить на сервере или на стороне клиента. Время выполнения этой операции не очень критично. Тут скорее важно удобство построения и модификации большой группы объектов. И тут дилема. С одной стороны, удобно описывать объекты на языке близком к логике построения изображения в броузере. Те javascript. Но с объектным подходом и организацией множества модулей там туго. REQUIREJS не очень спасает ситуацию. В питоне гораздо проще создать структуру из наследуемых друг от друга графических объектов, которые однако будут тогда создаваться на сервере.
А вот это - плохая идея
Офлайн
doza_and
Разные источники не рекомендуют использовать ангуляр если планируется больше 2000-3000 вотчеров.
Однако, я запускал 15000 вотчеров без ощутимых тормозов. Вероятно всё зависит от клиентской машины.
Офлайн
FishHookБезусловно, конкретно мои проблемы были с мобильными устройствами )
Вероятно всё зависит от клиентской машины.
Офлайн
doza_and
Посмотрите еще на typescript
Офлайн
http://chrisharrington.github.io/demos/performance/
тут 1к элементов и о 50ms приходится мечтать (при том что данные уже погружены и пример простой)
а все отображаемые элементы в localstorage клиентов загнать нельзя?
для сервера crossbar.io + msgpack посмотри, вебсокеты + rpc
по поводу brython - не уверен что он готов для использования в проде, лучше coffeescript/ts взять
Отредактировано slav0nic (Дек. 11, 2015 14:04:14)
Офлайн
slav0nicКстати, пайшарм знает coffeescript и умеет с ним работать. Подсветка, автокомплит - это само собой, но приятные мелочи, типа компиляции в JS на лету собственным вотчером позволяют вполне комфортно с ним работать. И вообще, в разрезе питонячьего менталитета язык весьма неплохой. Отступы, опять же.
лучше coffeescript/ts взять
Офлайн
Спасибо, обязательно посмотрю. Потом напишу что получилось. Пока конец года все закрывают этапы :)
Офлайн
Я вот думаю, а не быстрее будет забить на DOM и все отрисовывать на один большой канвас?
Офлайн