- Google & Co. should be feeded with https://prerender.io/
- Facebook and Twitter should be feeded with extra content. Always. And it's easy to implement.
Dunno...
- You're free in selecting your build tools, when developing a rich client-side website. There are plenty of them, all have their benefits and tradeoffs. Again: Angular has no hard dependency on Node related build tools.
- Gulp is great. Grunt sucks. It's so simple as "Use Gulp, don't use Grunt". Also there's https://github.com/sindresorhus/gulp-plugin-boilerplate/
- Your example
Grunfile
is completely dependent on Agular, but "rich client-side" != Angular.js.
It sucks, but not because of the client-side JS, but because integration tests sucks in general. That's why there are unit tests, which reduce the number of fragile integration tests.
I didn't undestood the example with the sidebar and why it seems slow to the user.
Building content websites with client-side JS is indeed not yet well supported. Primarily because noone does it. Nevertheless don't mislead the reader. Most of the problems can be solved.