A client of mine is looking to adopt a new framework/library to replace the homegrown spaghetti code they have now and has narrowed the choices down to BackboneJS and CanJS. They are asking me to continue the research and choose between the two. It seems to me both have a lot to offer, with CanJS taking the lead at the moment. However, neither seem to have any strong architecture design being forced on the developers like other frameworks (like EmberJS) do. Rather than re-inventing the wheel I thought I'd attempt to combine BoilerplateJS's strong architectural guidance with CanJS. However, I have yet to find any examples of this being attempted.
Has anyone tried this? Are there any concerns or gotchas I should be concerned about when attempting to do this (e.g. conflicts with dependency management or routing)? Does CanJS simply offer enough that it's pointless to bolt BoilerplateJS on top of it?
Any insight/guidance would be greatly appreciated.