I find Knockout interesting in this respect exactly because it's not monolithic. It exposes some primitives (observables, computed observables, and binding handlers) and you decide how the application is structured. I'm not against a more frameworky approach, but I think it's smart to let the conventions evolve first.