- User activity should manipulate data, not modify markup : Let backbone handle updating the view when an action takes place with something like an observer.
- Works with attributes (properties of the object)
- Automatically triggers data change events ie delete, update, etc
- Can use custom methods
- Can use javascript properties to reference other objects (even Collections; composition?)
- Manages an array of models
- Can trigger custom events
- Can become complicated when trying to recreate the functionality of a model
- Append List to the end of views that render a collection for clarity
- Define initialize() and set any necessary properties in the actual view class (setup only happens once for life of application ie once view is first executed.) Caveat : You must do this after the page has loaded ie inside of a document.ready block
- ALWAYS add the bindAll function in the initialize method of every view to ensure event binding happens in the right context otherwise callbacks can bind to the wrong events.