The core Vue.js library focuses exclusively on the view layer. It is called a progressive framework because you can extend its functionality with official and third-party packages like Vue Router or Vuex to make it a true framework. Although Vue is not strictly related to the MVVM (Model-View-ViewModel) pattern, its design was partly inspired by it. With Vue, it will work mainly on the ViewModel layer to ensure that application data is processed in a way that allows the framework to render an actual view. Vue’s templating syntax allows for the creation of view components and combines familiar HTML with special directives and features. This templating syntax is preferred, although raw JS and JSX are also supported. Components in Vue are small, self-contained, and can be reused throughout the application. Single File Components (SFCs) with the .vue extension contain HTML, CSS, and JS, so all the relevant code is in one file. SFCs are the recommended way to organize code in Vue.js projects, especially larger projects. Tools like Webpack or Browserify are needed to translate SFCs into working JS code.
React is one of the most popular JS projects with 160k stars on GitHub. It is developed and maintained by Facebook and used internally in many of its projects. It is also used to power over 2 million websites, according to BuiltWith’s usage statistics.
Of the three frameworks, Vue has the most stars on GitHub, with 176k stars. The project is developed and led by ex-Googler Evan You. It is a very strong independent project in the open source community and is used by over 1 million websites, according to BuiltWith.
AngularJS is developed by Google, but surprisingly it is not used in some of their flagship products like Search or Youtube. It is commonly used in enterprise projects and powers over 97,000 websites according to BuiltWith. It is the lowest rated of the three frameworks, with 68,000 stars on GitHub. However, when AngularJS 1 switched to AngularJS 2, a completely new repository was created instead of continuing the AngularJS project, which also has 59,000 stars.