Vue, apparently, has started as a small project, but it has developed significantly over the years — becoming a full-grown framework with an advanced ecosystem and powerful toolkit. Vue has slowly but surely entered the developers’ realty.
Vue.js is a technology that can be embedded gradually. Embeddability is conditioned by the fact that Vue.js strives for progressiveness: Vue can be added to an existing project, due to which its functionality will be significantly enlarged. And that makes it different from other frameworks.
Where does Vue.js apply?
Vue is appropriate for small projects that have to append a little reactance, send a form with AJAX, display values on user input, resolution, or other alike problems. Vue is highly scalable and fits for major works. That is why it is perceived as a leading framework. And this is exactly what defines the popularity of Vue.js.
Vue is also perfect for large one-page apps by virtue of its core constituent elements. Using Vue, you are able to apply public APIs to build apps and realize server-run applications. Nevertheless, Vue is irreplaceable for implementing decisions that apply outer APIs to process data. Vue.js is also irreplaceable for building interfaces that fit the client.
Vue.js main concepts are: constructor, components, directives, transitions.
A bit of statistics
Popularity on GitHub. Since Github is the largest platform for hosting projects, we cannot ignore its rating when analyzing the popularity of Vue. For clarity and visibility, we compare the Vue.js data with indicators for the two main competitors over the past three years. Therefore, we can see that in 2018, Angular had among 30k and 40k stars. React had much more — from 90k to 110,000k. And the amount of Vue stars has exceeded the 110,000k mark. Thus, this framework has surpassed its competitors. Albeit by a small margin.
2019 brought significant changes. Angular reached 50k stars, React — more than 130k, but Vue got its maximum at that time — 143,424 stars.
Vue.js wins all the GitHub stars. Amazing!
Category overview. 71.7% of those developers who have used React before will use it again, and only 8.6% will not use it for their future projects and applications. Angular will be used in perspective by only 21.9% of developers, and 35.8% do not plan to do so. Furthermore, many are not interested in it at all (32.4%). Very few developers do not want to reuse the Vue.js — no more than 6%. 40.5% of developers will use it for app development in the future, and 34.2% are interested in this framework, although they have never dealt with it. To be fair, it should be mentioned that 32.4% of developers don’t even want to know anything about Vue.
Awareness, interest, and satisfaction ratio rankings. As for the level of awareness of these technologies for app development, React and Angular show absolutely the same results from year to year — 99-100% of developers are well acquainted with these frameworks. But the awareness of the Vue does not stand still. So, in 2016, only 73% of developers were acquainted with it, in 2017 — 95%, and from 2018 until today (2020) — absolutely all developers. This is thanks to the fact that Vue.js is the newest technology among the explored.
Interest in each of the frameworks is dynamic too. And if in the analysis of React and Angular we are talking about decline, then Vue — is about a rise. Let’s explore 2016, 2017, 2018, 2019 years. If in numbers, interest in React among developers annually is 75%, 71%, 68%, 61%, respectively; in Angular — 50%, 36%, 25%, 23%. And Vue shows slightly different results — 51%, 70%, 70%, 64% of developers are interested in this framework every year. So, in 2019, there was a slight decline in interest, and in 2018, Vue.js was at its peak among all known front-end frameworks and libraries. Not bad, isn’t it?
Satisfaction with Angular when using it for application development is falling every year. If in 2016, 68% of developers were gratified with it, then in 2019 — only 38%, which is almost two times less. Satisfaction with React and Vue among developers is about the same every year with minor drops and jumps. React — 93, 93, 91, 89 (in percents); Vue — 87, 91, 91, 87 (in percents).
Google Trends. Search queries related to the Vue.js grew from the 2014 (the year of release of this technology) until the summer of 2018. From the beginning of last year until the first half of 2020, there was a slight decline with periodic leaps in popularity. Now we can say that there is some stability in terms of indicators on Google Trends.
Benefits of Vue.js
Vue.js turned out to be an unexpected competitor for Angular and React. This front-end framework has one goal: to simplify user interface development. Vue has taken the best from its competitors largely, and thus has become a serious and worthy player in the application development market.
Like Angular, but simpler. Like React, but faster
There are ready-made packages for routing, state management, and testing. All trendy approaches to development are used: API of web components, functional programming.
You don’t need to learn specific concepts, without which you can’t do anything in React. Smaller library size and smaller final bundle scale. As in React, there is a resolution for building interfaces for mobile, support for typescript, and rendering on the SSR.
Lightness and convenience
The basic concept of Vue.js development is to reach significant outcomes with minimal pains, so that the user is able to code in just several lines. During operating with Vue, a component’s logic, layout, and styles are stored in a single file. Interaction of components in Vue is provided due to objects that store the properties and status of the constituent elements.
Functionality, versatility, ease of integration
You can build sites, web applications, mobile applications of almost any functionality and performance level. Vue.js can be applied for projects of any intricacy (from the simplest to the largest), it also supports different approaches to the implementation of sites: traditional or SPA.
Lightness, scalability, speed
Implementing minimal functionality with Vue.js requires just one small script. For Vue.js there are many extensions, ready-made plugins, components, additions, including official ones. Also, the framework simply interacts with other third-party libraries. Many tests, which compare Vue.js with other well-known softwares, show that in context of execution quickness and efficiency Vue.js is not inferior, and in some respects surpasses its counterparts.
Convenient developer extension for the browser that allows monitoring the state of the app
Unlike a similar extension for React, viewing the Vuex store (application state variables, analogous to Redux for React) is possible without additional configuration in the code. Also, during viewing Vue.js components in this extension there is no a huge number of wrapper components, which make it difficult to learn the structure and find the required element, as in an extension for React.
Vuex and Vue CLI
Small size, handy development tools, detailed documentation
Vue.js can weigh around 20KB while maintaining its rapidity and versatility, which lets you achieve higher productivity compared to other platforms. In fact, when it comes to loading and usage time, Vue.js without difficulty outperforms its competitors.
You can build a design from the command line, choosing the necessary options: Typescript, CSS preprocessors, unit test scopes, and so on.
Understandable reactivity and advanced customization
Unlike other popular front-end frameworks, with Vue, at the beginning of your study, you don’t need to think about when the component will be updated and how the data will be changed. Everything works exactly according to your expectations: without any new terms, inappropriate complications, and puzzling concepts.
Simple to start. Simple to expand. Simple to adapt
Intuitive and plain template syntax. It can be easily appended to the present project, for example, if there are existing applications, written on the old stack, and you need to gradually move them to the contemporary Vue platform.
This framework uses normal HyperText Markup Language, JS, and Cascading Style Sheets for building its components, but it is possible to easily connect other technologies.
A little comparison: Angular vs React vs Vue
Comparing Vue.js with other front-end frameworks can be a long talk. And we will certainly talk about this.
Vue.js vs React.js. In short, Vue is similar to React, for example, in that both frameworks use the Virtual Document Object Model and focus on the root library; they are high productivity frameworks and both provide perfect solutions for scaling. But the differences, of course, are also present: React has a broader, but also more fragmented ecosystem, while Vue supports all additional libraries in concordance with the core of the library.
Vue.js vs Angular.js. As for Angular, it has also significantly influenced Vue, however, by contrast, Vue is much easier to explore, more supple solution than Angular, which adheres to a rigid application structure. If we compare the capacity of these two frameworks, then Vue is more productive and easier to optimize (although if we compare Vue.js with Angular 2, then both frameworks show approximately the same capacity, Vue just slightly outperforms Angular 2).
In practice, React is mainly used by those developers who prefer a functional programming style, Angular — by those who have previously programmed in Java or C #. And Vue is popular with those developers who choose a more classic development model.
Why choose Vue.js?
Vue is reactive, productive, and simple to learn. The framework is independent of jQuery. Vue elements are light to implement in an existing project. And, of course, don’t forget about the MIT license that Vue.js has, which means you can use the software anywhere and anytime. Moreover, even those who have never dealt with JS frameworks before can quickly figure out how to operate with it.
Vue.js framework is considered by many developers as one of the most promising frameworks at the moment. And not in vain. It is flexible, fast, and active. Just imagine how powerful composition can be for any type of project: from small and plain to huge and complicated web applications!
What is important, both Angular and React users can go to the Vue.js without any difficulties. This is because it produces clean html-code that is familiar to all developers. The techniques used are roughly the same as in Angular.