As a Texas vue consultant we’re often asked about the pros & cons of Vue.js versus other user experience UX design alternatives. Vue.js is an MIT open-source JavaScript framework used for building interfaces. It can also be used for desktop and mobile application development as well. The framework was developed by Evan You. “The core library is focused on the view layer only” (The Good and the Bad of Vue.js Framework Programming, 2020). Vue is primarily used in developing user interfaces (UI) and single page applications. It is considered “best suitable for ‘single-page apps, async components, server-side rendering, and much more” (Pros and Cons of the Vue.js Framework, 2020).

Vue has certain advantages to it as a newer framework. The framework is considered to have good performance (faster load times) for their applications.

Other pros to Vue include:

  • Size – A key pro to Vue is that the size of the framework is quite small. This naturally means that it is faster to download and install the library. “The downloaded zip with the framework weighs 18 KB [and] it also positively impacts your SEO and UX” (The Good and the Bad of Vue.js Framework Programming, 2020). Besides just a faster runtime, due to the framework’s small size, the developers don’t need to put as much work in optimization.
  • Segregation – The framework having a small size “stimulates development and allows developers to separate template-to-virtual DOM from the compiler” (Pros and Cons of the Vue.js Framework, 2020). Another important feature of Vue is that it has a virtual DOM, which allows it to update elements in a webpage “without rerendering the whole DOM “ (The Good and the Bad of Vue.js Framework Programming, 2020). When changes are made, “a new Virtual DOM object is created and the changes between the old and new are determined. These changes are then applied to the real DOM” (Vue vs React: Battle of the JavaScript Frameworks, 2020).
  • Integration – Vue also includes two-way binding, allowing bound data to update just as DOM objects are being updated. “Two-way data binding is a connection between model data updates and view (UI)” (The Good and the Bad of Vue.js Framework Programming, 2020). Evan You stated “For me, Angular offered something cool which is data binding and a data driven way of dealing with a DOM, so you don’t have to touch the DOM yourself” The Good and the Bad of Vue.js Framework Programming, 2020). Vue has some similarities to competitors as it uses the template syntax and two-way binding from Angular and the virtual DOM from React.
  • Compatibility – “Vue.js encourages the use of HTML to render things” (Vue vs React: Battle of the JavaScript Frameworks, 2020). Consequently, Vue can also integrate with current existing applications with more ease. Vue uses a template system and encourages using HTML for rendering objects. Vue is considered flexible as it “allows you to write the templates as you wish: using HTML, JS, or JSX” (The Good and the Bad of Vue.js Framework Programming, 2020). The internal organization of the framework is similar to React and Angular, and should be easy to work with if moving from React or Angular to Vue.
  • Learning Curve – Vue is considered an easy framework to learn, with a familiar programming style and patterns to other JavaScript frameworks. Vue also presents significant documentation provided on their website. “Vue’s documentation covers all the possible topics, precisely describing everything from installation to more in-depth things like reactivity and scaling of the app” (The Good and the Bad of Vue.js Framework Programming, 2020). Vue’s website compares its framework with other frameworks. The Vue community is considered very resourceful to assist with any issues.
  • Reusable – With adequate planning (ok, sometimes trial & error), the code in Vue can be organized to be reusable if the developer can get “multiple components and views which can easily be integrated into existing infrastructure or an app” (Pros and Cons of the Vue.js Framework, 2020). The developer will have options to add components to existing templates. This means that the framework encourages developers to design their code is such a way that they can break down their application into different functionalities that interact later on.
  • Library – Vue can be used as a library and framework. Developers like view for its scalability as “It can be modified, changed, and scale through your requirement” (Pros and Cons of the Vue.js Framework, 2020).

Vue code

Disadvantages with Vue – Just as there are pros to Vue, there are naturally cons to it as a front-end framework.

These are some of the disadvantages with Vue:

  • Developer Experience – Since Vue is relatively more recent, there aren’t as many developers who have much experience with this framework. At the same time the framework updates very often, which is a huge downside as even experienced developers need to relearn the framework.
  • Binding – There are issues that may occur with the two-way binding. The reactivity system in the two-way binding “rerenders only those chunks of data that were triggered […] and often makes mistakes during data reading, so it requires data to be flattened” (The Good and the Bad of Vue.js Framework Programming, 2020).
  • Scalability – The Vue framework is not used for large-scale projects since the framework has a much smaller development team and community compared to frameworks that have been around much longer. “Vue does not enjoy financial support from large enterprises. To be adopted in the large scale-projects, the technology should be stable and strongly supported, so that issues can be solved quickly” (The Good and the Bad of Vue.js Framework Programming, 2020). Vue has been most commonly been used for user interfaces and single page applications in smaller projects compared to large-scale projects handled by larger companies.
  • Plugins – Another con is that Vue has less plugins than React or Angular. This is important as Vue doesn’t have many common plugins that many developers rely on.
  • Mobile Support – Older versions of Safari and iOS browsers have been known to cause some issues on the Vue.js application.
  • Flexibility – While it is a huge benefit for developers, allowing the developers to become too flexible allows “more errors and irregularity within the code” (Pros and Cons of the Vue.js Framework, 2020). This naturally means that more delays are likely to be caused by the errors/bugs in the code that are caused by flexibility. Having so many options leads to “different programming approaches battling inside one team” (The Good and the Bad of Vue.js Framework Programming, 2020).
  • Community – An issue that occurs is language barriers since many Vue users coming from China. The company that developed Vue is from China. Since, the community itself is smaller than for other frameworks, and with more Chinese users, it is harder for English users to learn since “most of the code has been written in the Chinese language” (Pros and Cons of the Vue.js Framework, 2020).

Vue Paper Dashboard 2 PRO
Vue Paper Dashboard 2 PRO by Creative Tim

Overall, Vue is mainly used for working on user interfaces through HTML, CSS, and JS. It can be integrated into existing applications to add interactivity. Many of the issues appear to corelate with Vue being a newer framework than React or Angular, and thus, having less components or plugins and a smaller community than the other two. The lack of support for large-scale projects is also a drawback, though some bigger companies have started using it for smaller projects.

AltexSoft. 2020. The Good And The Bad Of Vue.Js Framework Programming. [online] Available at: AltexSoft [Accessed 2 April 2020].

Delicious Brains. 2020. Vue Vs React: Battle Of The Javascript Frameworks. [online] Available at: Delicious Brains [Accessed 2 April 2020].

Medium. 2020. Pros And Cons Of The Vue.Js Framework. [online] Available at: Medium [Accessed 2 April 2020].