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?
Backbone. Backbone has been around for a long time, but it's still under steady and regular development. It's a good choice if you want a flexible JavaScript framework with a simple model for representing data and getting it into views.
Today, Knockout. js mostly exists in legacy applications and developers try to move to something newer, like Vue. js.
Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model.
js is a JavaScript rich-client web app framework based on the model–view–controller design paradigm, intended to connect to an API over a RESTful JSON interface. Backbone is known for being lightweight, as its only hard dependency is on one JavaScript library, Underscore.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With