| See also my other comment below: http://news.ycombinator.com/item?id=3355963 I have to say that both frameworks have great supportive communities. As for features here's a very simplified comparison: Backbone pros: - eases code structuring with Models and Collections - gives routing (history management) - template engine agnostic Backbone cons: - Out-of-box UI support is weak. - Binding plugin is weak - No automatic dependency detection between the fields (I'm sure there are some external libraries to support that) Knockout pros: - first-class dependency detection and event model - powerful UI bindings (be sure to check out custom bindings - they are very convenient and can make your life a lot easier) - top-notch templating - it's believed that MVVM pattern is more suitable for inexperienced developers and eases collaboration in team. My experience confirms that. Knockout cons: - No models, doesn't help you with project structure - you're on your own - Model plugin is there but I can't compare it to Backbone, sorry. It does have synchronization with RESTfull backend. - Tied to a specific template library. It's possible to integrate other templates with custom providers but I don't know how easy/hard it is. - No routing support I picked KO because I believe that framework should do the hardest part and it's ok if the easier parts don't get addressed well. When starting a project I asked myself what would be harder: deal with UI elements or with AJAX. UI seemed harder and Knockout addresses that a lot better than Backbone, so we went with Ko. My team loves it. ------------ Also these day you can pick both and get them running together: http://kmalakoff.github.com/knockback |