React vs Blaze: Virtual DOM


I’ve begun reading more about in an attempt to better understand how you would use it in an app. I mean, I understand Blaze is the component that works “behind the scenes” to parse your templates and inject them into the DOM, and enable reactivity (this is way over-simplified, I’m sure).

But I’m not yet able to imagine a real-world scenario in which you would need to use the Blaze API in an app. I may not be articulating this very well, but what I’m trying to say is: can anyone describe ways in which you’d want to use the Blaze API directly, as well as maybe an example (or a link to some examples) of real-world usage? I’ve been reading the Blaze documentation, and maybe I could be accused of lacking imagination, but I haven’t yet been able to see beyond the simple examples (e.g. counter) to understand how you’d use it in, say, Telescope, or maybe a single-page application that displays user locations on a map (just to provide a couple of examples).

Also, I read the following sentence on the front page of the Blaze docs (in the Intelligent DOM Patching section, just below the anchor that link points to):

Does that mean that Blaze internally builds an in-memory, “virtual” DOM, in the same sense that React does? Is that how it diffs the current DOM against data changes in your template?

Lastly, what is a “structure template?”

Thanks for being patient with a n00b :grinning:


Theoretically, Blaze should be fast. But it’s not at this stage.
I hope Meteor will fix them someday!