For me, it really comes down to how you use the views < render method.
Some people like to use render as an initialize extension, because they only use it once when the view first appears on the page and often calls it from initialize . With this style, you can safely use append without worrying about accidentally adding items twice, because the render will not run twice.
Alternatively, you can use render to use again and again, whenever the view element needs to change in some way. The highway supports this style, for example. this.model.on('change', this.render, this); . For this style, append will be annoying, as you constantly need to check if elements exist before the append in them. Instead, html makes more sense as it wipes away everything that was before.
source share