Vue.js is a front-end JavaScript framework. It allows to create any kind of dynamic web-application. From small web widgets to highly scalable apps, everything written in JavaScript only. You can plug it into an existing web application to add certain front-end features. Features like, dynamically rendering certain components or elements to the page. Or you can create one whole enterprise-level SPA (Single Page Application) web application itself. It’ll look like you’re navigating through different pages. But in the end it’s just JavaScript creating and destroying one or multiple parts of the page based on user-interaction with the DOM.
But why use JavaScript in Vue / Vue.js?
It is a Front-End framework, which makes it very obvious to use a Front-End technology. Another advantage of using a client-side language is that you don’t need to connect to the server to get a response. JavaScript can easily manipulate the DOM. This makes the web app feel highly reactive (you get an immediate response for every action or user interaction).
Why use Vue instead of React or Angular?
Well, first of all, Vue is extremely light-weight and fast. The minified Vue.js framework comes in just under 16kb! It’s small size doesn’t only contribute to its fast loading time. Vue is very fast even in run-time. Some benchmarks show Vue beating React and Angular by good margins.
The second reason you may choose Vue.js is its adaptability. You can easily plug-in Vue.js in existing projects (which were not using any front-end framework at all). On the other hand it’s quite difficult to do the same thing in React.js or Angular. If the back-end structure of the project is not built on the more modern JavaScript frameworks like Express (Node.js) then the situation is even worse (not in case of Vue.js). This is because of the fact that Vue.js works only on the view layer of any kind of application structure, unlike others, which may even include models or controllers.