Summary

Understanding the retained mode and immediate mode differences makes it much easier to sympathize with the DOM on certain things and with the canvas on others. By now, hopefully you have a good idea of when to use one over the other. In case it helps, here is my short list on when I use canvas and when I use the DOM.

When I Use a Canvas

  • Complex visualizations
  • Animations involving content that nobody needs to interact with (example)
  • Pixel manipulation (example)

When I Use the DOM

This is pretty simple. I use the DOM for everything else that I don't use a canvas for. The canvas has very limited uses for the kinds of things that I do.