We have an existing Rails 3.1 consumer-facing web app and are reworking the UI to be far more interactive, snappy, app-like.
We have a modestly complex data model, but there's only a modest need for form-based user input.
We use jQuery now, with plugins to do nice effects, but overall, our JS skills are weak.
Our primary objective is to find a framework that helps us structure and organize our JS code and simplify the cases where we do have data bindings, AJAX, etc. in our Rails 3.1 world.
We'll learn how to do JS properly, but while we do, is there a clear framework we could learn and work within?
I don't know Dojo, but Backbone vs Knockout is a bit like comparing apples to oranges.
Backbone provides a structure for a web application + synchronization with the backend, whereas Knockout drives UI updates. There is some overlap between the two, but it doesn't mean they are actual competitors. There is even a project that tries to combine both - Knockback.
Last but not least, there is a great discussion on Bb vs Ko.
EDIT: I've just found this: http://addyosmani.github.com/todomvc/ - a comparison of different approaches to creating the same TODO app.