Предложение MVC Framework для приложения на основе холста HTML5

Я пытаюсь разработать приложение на основе HTML5 Canvas. Приложение в основном представляет собой приложение для визуализации финансовых данных, которое полностью работает на HTML5 Canvas, то есть каждая кнопка, обработка событий, графики — все делается в HTML5 Canvas.

До сих пор я использовал две библиотеки для управления огромной кодовой базой:

  1. jCotton для рисования и обработки событий, нам пришлось изменить и добавить множество других функций в jCotton, и он работает очень хорошо для нас.
  2. RequireJS для модульности, которая также работает нормально

Однако, поскольку мы были на стадии прототипа, мы не инвестировали в надлежащую среду MVC, поэтому разделение задач, т.е. модели данных, эксклюзивные представления, не поддерживались должным образом, поскольку тогда это был проект проверки концепции, но теперь я Я думаю о рефакторинге кода и использовании мощной инфраструктуры MVC для лучшей организации моей кодовой базы.

Теперь вот проблема, с которой я столкнулся, я действительно запутался в том, какую структуру выбрать. Есть Backbone, EmberJS, SpineJS и т. д. Все они кажутся очень хорошими. Но я не могу принять оптимальное решение ни по одному из них. Я не эксперт по JS, я программирую JS всего 1 год, так что это еще одна причина, по которой у меня возникают эти трудности.

Многие из этих фреймворков, кажется, уделяют большое внимание манипулированию DOM, что не нужно для моего проекта, у нас есть собственная структура данных для представления сцен в Canvas. Клиент JS использует пользовательский XML для связи и передачи данных с внутренним сервером. Я некоторое время копался в Backbone. Маршрутизатор для меня бесполезен, так как приложение работает внутри холста. Однако модель, основанная на событиях, кажется довольно привлекательной.

Мне интересно, сталкивался ли кто-нибудь из вас с подобными ситуациями и что вы делали для этого. Должен ли я выбрать Backbone, EmberJS и т. д., или мне лучше разработать свой собственный минималистичный фреймворк MVC. Какой из них мне следует выбрать, если вы предлагаете мне использовать сторонний фреймворк MV*? Как я уже сказал, я копался в Backbone, чтобы понять, соответствует ли он моим потребностям. Я хотел бы узнать больше о других фреймворках в этой конкретной нише.


person Abu Zaher Faridee    schedule 11.12.2012    source источник
comment
Я не знаю ответа; но одна вещь, вы, вероятно, хотите найти самую минималистскую структуру, которую вы можете найти - причина в том, что любые функции, основанные на HTML, будут потрачены впустую в приложении на основе холста. Тем не менее, Backbone кажется разумным выбором, но Spine может быть лучше, поскольку, судя по тому, что я видел, он еще меньше и даже не требует запуска JQuery.   -  person McGarnagle    schedule 11.12.2012


Ответы (1)


Я реализовал «интерактивную диаграмму временных трендов» на основе холста с помощью EmberJS и получил положительный опыт. Вы не обязаны использовать HTML/Backbone (html-шаблоны) с EmberJS.

Автоматически распространяемые свойства и вычисляемые свойства EmberJS хорошо сочетаются с API графа сцены, таким как jCotton.

Я не знаком с jCototn, но на первый взгляд кажется, что было бы просто расширить класс CottonObject из Ember.Object, который автоматически изменяет поддерево графа сцены в ответ на изменения свойств Ember.

person Seth    schedule 14.12.2012