Please let me know if you have any questions or suggestions for the article!
This is an awesome analysis, thanks so much for taking the time to do this!
But I have to confess, when I look at workarounds like off-DOM rendering, I wonder if it's not simpler to just switch to React. It's probably more work (and in Telescope's case, might not necessarily be practical), but it's probably a better long-term solution than adding a lot of extra complexity.
I'm a big fan of Blaze's simplicity, but it's kinda pointless if performance is bad. After all, the whole point of switching from server-side apps to single-page apps was improving the user experience. So it's a bit disappointing when you have to wait 5-6 seconds for Blaze to render a page :(
While, in the words of Avital, the FB React team has spent more time on performance and are likely to have done more perf tuning, it didn't beat Blaze in some of the tests, and we'll still run into similar issues at some – perhaps larger – size app. Like it will still take a noticeable amount of time to render large enough templates, and helpers will still be spending a while querying minimongo, and the DOM will still have the same number of nodes (so we'll have same limits when it comes to leaving everything in DOM and show/hiding it).