Excuse my naivete, but I don't understand why you can't have Controllers. My understanding is that Backbone does not provide an abstraction for Controllers because, well, there's not much to abstract about them, they are just objects with some data and some functions.
Not trying to start a framework-flamewar here, but what would the benefit of choosing backbone over a full mvc framework like ember or spine be if you're just adding the 'c' to backbone with a bunch of plugins?
In almost all cases where I've used backbone, its minimalism has been its biggest advantage. The example here is pretty complex and probably would have benefited from a larger framework, but without knowing the rest of the application its hard to tell.
Like all things, you just need to pick the right tool for the job.
Backbone is not as much opinionated as other frameworks, although you have a point here.
What I find most funny is that we're slowly evolving to full-fledged frameworks on the client. I wonder when the Spring for javascript will appear...
It already exists : ExtJS , is a monster frameworks for javascript using JSON instead of XML for "dependency injection". it is very hard to use due to the dynamic nature of javascript, hard to know what comes in and out of a method, some classes have more than 200 methods. But it is really really powerfull,especially regarding data persistance. Once you master it you can do very very complex apps pretty quickly.
By the way this is when you wish Javascript had a type system. How can you know what type a method parameter is unless you dive in the doc ? with Java you usually just have to look the interface ...
Wait, let me get this straight, this framework eschews the standard MVC separation and allows for mixing the M with the V?
I like Backbone and I love AngularJS. Both have their merits. If Backbone isn't doing it for you perhaps your app needs a full-stack framework like Angular instead of violating separation of concerns.
No, this is an implementation of the Command Pattern for MVC. It doesn't eschew standard MVC separation, rather it strengthens it by removing domain/business logic into so called "Commands" and keeping it out of the other tiers.
This Backbone+Marionette/Geppetto thing reminds me a lot of RobotLegs, which ASFAIK is one of the most well engineered and well loved AS3 MVC+Command micro frameworks. It's worth a look.