For the Dev Camp we looked at several popular frameworks, all based loosely around the common Model-View-Controller (MVC) structure for apps, though they all have their own takes on exactly how that is implemented. Three of these frameworks stood out:
- Backbone.js uses models, collections, view and routers
- Spine has a pretty standard MVC pattern
- Knockout users models, views and view models
Backbone and Spine are fairly similar and Backbone seems to have more of a following so we let the popularity make the choice for us between that pair. Choosing between Backbone and Knockout was trickier:
- Backbone has a reputation of having a pretty steep learning curve, whereas Knockout gets you up and running quicker.
- Knockout has some nice automatic data binding whereas Backbone has a little more manual boilerplate.
- Backbone copes much better with more complex applications whereas Knockout begins to require more thought and refactoring as you go on.