MVC stands for model, view and controller. Backbonejs.or explains this by comparison to Rails, more here and below. Because I don't know Rails, the comparison is quite meaningless. The exctract below highlight the controller, perhaps a reason not strictly an MVC -- not sure what it infers. What does it mean that Backbone is not a strict MVC?
Extract from the Backbonejs.org -site (source here).
How does Backbone relate to "traditional" MVC?
Different implementations of the Model-View-Controller pattern tend to disagree about the definition of a controller. If it helps any, in Backbone, the View class can also be thought of as a kind of controller, dispatching events that originate from the UI, with the HTML template serving as the true view. We call it a View because it represents a logical chunk of UI, responsible for the contents of a single DOM element.
Comparing the overall structure of Backbone to a server-side MVC framework like Rails, the pieces line up like so:
- Backbone.Model – Like a Rails model minus the class methods. Wraps a row of data in business logic.
- Backbone.Collection – A group of models on the client-side, with sorting/filtering/aggregation logic.
- Backbone.Router – Rails routes.rb + Rails controller actions. Maps URLs to functions.
- Backbone.View – A logical, re-usable piece of UI. Often, but not always, associated with a model.
- Client-side Templates – Rails .html.erb views, rendering a chunk of HTML.
I added the italics to highlight the point why it is not apparently a MVC. Above I can find the model and view -terms -- but the term controller
is left out explicitly, instead using terms router, collection and templates. Why are router/collection/templates not a controller?
I find this controller -definition, controller mediates input, converting it to commands for the model or view
(Wikipeadia here), a bit fuzzy.