Я беру на себя задачу перезаписать следующее флэш-приложение в HTML5:
http://www.docircuits.com/circuit-editor
Учитывая сложность приложения и моего R & D до сих пор, я определил AngularJS как предпочтительную структуру MVC для реализации. Приложение имеет различные части, такие как панели, меню, свойства, диаграммы и т.д., Все из которых, я считаю, можно легко реализовать в AngularJS.
Основная проблема заключается в том, что дизайн и взаимодействие компонентов (например, перетаскивание, перемещение, обработка проводов и т.д.) должны быть на основе Canvas, так как я смог экспортировать всю векторную графику из Flash с помощью инструментария CreateJS (http://www.adobe.com/in/products/flash/flash-to-html5.html) в библиотеку Canvas, а не в SVG.
Проблема в том, что нет четкого способа общения между "отдельными объектами внутри холста" и AngularJS. Я рассмотрел следующие примеры, но почти все они работают над объектом canvas, а не об обработке отдельных компонентов внутри Canvas:
AngularJS Связывание с WebGL/Canvas
Есть ли еще директива по рисованию холста для AngularJS?
Я как бы застрял здесь и не уверен, что делать. Поистине оцените некоторые комментарии:
-
Является ли AngularJS правильным выбором?
-
Должен ли я попытаться реализовать часть Canvas в другой библиотеке (например, Fabric.js, kinect.js, Easel.js) и интегрировать ее с Angular (что опять кажется слишком большой задачей на данный момент)?
-
Если ничего из вышеперечисленного, какую другую инфраструктуру я должен переключить, можно легко справиться с холстом, а также с другими функциями, такими как панели, меню, диаграммы и т.д.