To argue the case of the middle ground, it's perfectly possible to give the impression of a well animated app without breaking HTML's layout and constraints everywhere. Simple, non-obtrusive animations can give your interface a ton of "app-like" weight, and avoiding the complexity makes it easier for browsers to render, and also generally less expensive to develop in the first place.
If it's possible to do it with the new CSS animations (which should be reasonably well accelerated on modern browsers) and gracefully degrade by... y'know, not having the animations play, that's probably the ideal compromise right there. If you start restructuring your DOM in the name of easier animations or flashier effects, you've gone too far.
If it's possible to do it with the new CSS animations (which should be reasonably well accelerated on modern browsers) and gracefully degrade by... y'know, not having the animations play, that's probably the ideal compromise right there. If you start restructuring your DOM in the name of easier animations or flashier effects, you've gone too far.