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.