Я пытаюсь разработать приложение на основе HTML5 Canvas. Приложение в основном представляет собой приложение для визуализации финансовых данных, которое полностью работает на HTML5 Canvas, то есть каждая кнопка, обработка событий, графики — все делается в HTML5 Canvas.
До сих пор я использовал две библиотеки для управления огромной кодовой базой:
- jCotton для рисования и обработки событий, нам пришлось изменить и добавить множество других функций в jCotton, и он работает очень хорошо для нас.
- RequireJS для модульности, которая также работает нормально
Однако, поскольку мы были на стадии прототипа, мы не инвестировали в надлежащую среду MVC, поэтому разделение задач, т.е. модели данных, эксклюзивные представления, не поддерживались должным образом, поскольку тогда это был проект проверки концепции, но теперь я Я думаю о рефакторинге кода и использовании мощной инфраструктуры MVC для лучшей организации моей кодовой базы.
Теперь вот проблема, с которой я столкнулся, я действительно запутался в том, какую структуру выбрать. Есть Backbone, EmberJS, SpineJS и т. д. Все они кажутся очень хорошими. Но я не могу принять оптимальное решение ни по одному из них. Я не эксперт по JS, я программирую JS всего 1 год, так что это еще одна причина, по которой у меня возникают эти трудности.
Многие из этих фреймворков, кажется, уделяют большое внимание манипулированию DOM, что не нужно для моего проекта, у нас есть собственная структура данных для представления сцен в Canvas. Клиент JS использует пользовательский XML для связи и передачи данных с внутренним сервером. Я некоторое время копался в Backbone. Маршрутизатор для меня бесполезен, так как приложение работает внутри холста. Однако модель, основанная на событиях, кажется довольно привлекательной.
Мне интересно, сталкивался ли кто-нибудь из вас с подобными ситуациями и что вы делали для этого. Должен ли я выбрать Backbone, EmberJS и т. д., или мне лучше разработать свой собственный минималистичный фреймворк MVC. Какой из них мне следует выбрать, если вы предлагаете мне использовать сторонний фреймворк MV*? Как я уже сказал, я копался в Backbone, чтобы понять, соответствует ли он моим потребностям. Я хотел бы узнать больше о других фреймворках в этой конкретной нише.