Vue.js is basically just a js object wrapping a DOM node. It's claiming to be the equivalent to a full fledged MVC framework (or similar). But it only supplies the V and completely ignores the C and M. Leaving it up to you to invent your own framework on top of it. The parts that Vue.js do supply are not well thought out (Vuex is a nightmare). The parts that do work and are nice are simply straight out copied from other frameworks like Angular. When you give an average developer Vue.js as the only tool you end up with the same kind of code you get when trying to write a complex SPA with jquery: a Single-Pile-of-shit-App.