Just realized that this article is pretty old. That said, I find that redux + redux-thunks fills the *VAST* majority of use cases for small to largish applications well. Other extensions to redux allow me to structure reducers and action creators to suit the needs of the application. Growing complexity somewhat organically as needs arise. It's not *THAT* far off the "recommended" SAM approach in TFA, despite the author's statements to the contrary.
Just my $.02
I really wish that TypeScript ran within the Babel space sharing AST, and other features like flow does. It's a significant pain point to get TS+Babel+Webpack to work together well. I'm rankly not a big fan of TS, and feel it detracts as much as it adds. It is really helpful for heavy refactors though.
I'd love to see Node support some similar patterns... not sure what the locking risks are, or where information/scope may leak, but definitely cool... I also *really* like the async streams interfaces.
Conflates AngularJs and Angular (2+)... which is problematic considering they're very different beasts with component libraries that are incompatible. I'd suspect the survey referenced also does similar.
While not a bad article, I wish more people would just use the fetch (node-fetch, isomorphic-fetch) interface... I know some may be slightly easier, but in general fetch is good enough, and you can always create your own "client" that will abstract it's use a bit.