Предложение за MVC Framework за приложение, базирано на HTML5 Canvas

Опитвам се да разработя приложение, базирано на HTML5 Canvas. Приложението е основно приложение за визуализация на финансови данни, което работи изцяло на HTML5 Canvas, т.е. всеки бутон, обработка на събития, графики, всичко се прави в HTML5 Canvas.

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

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

Въпреки това, тъй като бяхме във фаза на прототип, не инвестирахме в подходяща MVC рамка, така че разделянето на проблемите, т.е. моделите на данни, ексклузивните изгледи, не бяха правилно поддържани, тъй като тогава беше проект за доказване на концепцията, но сега аз Мисля да преработя кода и да използвам тежка MVC рамка, за да организирам по-добре кодовата си база.

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

Много от тези рамки изглежда поставят голям акцент върху манипулирането на DOM, което е ненужно за моя проект, имаме наша персонализирана структура от данни, за да представяме сцените в Canvas. JS клиентът използва персонализиран xml за комуникация и предаване на данни с сървъра в задния край. От известно време копая Backbone. Рутерът не би ми бил от полза, тъй като приложението работи вътре в Canvas. Събитийният модел обаче изглежда доста привлекателен.

Чудя се дали някой от вас се е сблъсквал с подобни ситуации и какво е направил за това. Трябва ли да избера 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