title: Working with Canvas and AngularJS
body: <p>I am taking up a task to re-write the following flash app in HTML5:</p>
  
  <p><a href="http://www.docircuits.com/circuit-editor" rel="nofollow noreferrer">http://www.docircuits.com/circuit-editor</a></p>
  
  <p>Given the complexity of the app and my R&amp;D so far, I have identified AngularJS as the preferred MVC framework for the implementation. The app has various parts such as panels, menus, properties, charts, etc., all of which I believe can be easily implemented in AngularJS. </p>
  
  <p>The key problem, however, is that the component design and interaction (things like, drag/drop, move, wire handling, etc.) need to be Canvas-based, as I have been able to export all the vector graphics from Flash using the CreateJS toolkit (<a href="http://www.adobe.com/in/products/flash/flash-to-html5.html" rel="nofollow noreferrer">http://www.adobe.com/in/products/flash/flash-to-html5.html</a>) into a Canvas library and not to an SVG.</p>
  
  <p>The problem is that there is no clear way to communicate between the "individual objects inside a canvas" and AngularJS. I have looked at the following examples, but almost all of them work on the canvas object, and not about handling individual components inside Canvas:</p>
  
  <p><a href="https://stackoverflow.com/questions/16054424/angularjs-binding-to-webgl-canvas">AngularJS Binding to WebGL / Canvas</a></p>
  
  <p><a href="https://stackoverflow.com/questions/16587961/is-there-already-a-canvas-drawing-directive-for-angularjs-out-there">Is there already a canvas drawing directive for AngularJS out there?</a></p>
  
  <p>I am kind of stuck here, and not sure what to do. Would really appreciate a some comments on:</p>
  
  <ul>
  <li><p>Whether AngularJS is the right choice?</p></li>
  <li><p>Should I try implementing the Canvas part in another library (such as Fabric.js, kinect.js, Easel.js) and integrate it with Angular (which again seems too big a task for now)?</p></li>
  <li><p>If none of the above, what other framework should I switch to that can easily handle canvas as well as other functionality like panels, menus, charts etc. with ease?</p></li>
  </ul>