There is a number of similar questions here, but I'm particulary interested in such aspects of building single-page web applications:
From various blogs, it seems like Angular JS will cater for the most of the
Rob Eisenberg says:
I would join the AngularJS 2.0 Core Team and help to design and implement AngularJS 2.0, bringing all my experience with Caliburn.Micro and Durandal into the mix.
Knockout is a data binding library. It’s not a SPA framework.
Drundal Vs Angular: They solve the same problems (in different ways of course). They both have routing, animations, view orchestration, dependency management, as well as data binding.
Durandal is a natural progression from Knockout because Durandal uses Knockout. Durandal uses Knockout for data binding because its solid, very widespread, and reliable. Angular rolled their own data binding.