Python guy here, who is looking to build a client side MVC app and so far Ember and Angular are my top 2 choices because their docs were just easier to follow (especially for JS noob such as myself) any insight on why OP chose knockout?
http://blog.stevensanderson.com/2012/08/01/rich-javascript-a...
http://codebrief.com/2012/01/the-top-10-javascript-mvc-frame...
As far as routing goes, I use Backbone.router. I've written more about why we chose this setup on my blog: http://www.rivvir.com/for-us-for-now-knockout-js-backbone-ro...
When you want to rapidly develop an all with two way data-binding, dynamic views, and a little bit of XHR, declarative-friendly JavaScript frameworks like Angular and Knockout really shine.