Contrasting Backbone and Angular
victorsavkin.com
victorsavkin.com
Then again, I'm really not a big fan of "code generation" tools.
Sure I can build a best of breed utilizing a wide range of libraries together with backbone... Well I would think I am intelligent enough to do that but in the end it feels like it's based a lot more on opinion rather than fact.
I rewrote an admin backend in half the time it took someone to do it in backbone with their choices of libraries. YMMV, but I am loathe to get into another discussion of which templating library to use, which UI widget things, etc., etc. Just let me build it already! And take care of 90% of the annoyances for me.
So it's a fancy word for a basic idea.
The OP is talking about an IoC container or a service locator. which is a tool that will wire up and build objects on demand according to a definition. The alternative is writing factories( ex : document.createElement("DIV") is a factory method ).
Personally, I've found backbone pretty disgusting, although perhaps better than vanilla js/jquery.
Maybe MVC with tweak would work too, just rename the Presenter to Controller. But maybe that is no longer called MVC but MVP-with-name-change.
I'm not big on MVVM (knockout.js) but YMMV.
I've been living in Backbone land for a few months now, on projects without Marionette, and having looked closely into the Marionette way of doing things, I think it's pretty much essential to writing maintainable code. I'm in the process of trying to convert chunks of the app to Marionette, little by little, and also running a simple home-cooked dependency injection scheme, which I may blog about once the kinks are all worked out.
For those who've been burnt by Backbone in the past, I really suggest giving Marionette a shot. It's not perfect, but it standardizes a very clean, very understandable methodology for building Backbone apps.