Created by Maximilian Schwarzmüller
    Last Updated on April 10, 2019

    Vue.js is one of the three biggest and most important frontend frameworks/ libraries you can learn and use these days - the other two are React.js and Angular.

    It’s especially noteworthy that Vue.js is probably the most popular amongst these options - at least if we have a look at the Github stars for comparison:

    This popularity of course has its reasons: Beautiful code, a nice syntax and great documentation as well as a friendly community - definitely not the worst combination!

    But popularity amongst developers is not everything - and it’s also something that could change quickly if the framework develops into a wrong direction. So what does the future hold for Vue.js?

    I got similar articles on Angular’s Future and React.js’ Future, definitely check those out as well to learn how those frameworks will perform in 2019+!

    # What’s good about Vue?

    I already mentioned some strong arguments in favor of Vue.js. It’s really the combination of all these things that drives Vue’s success and popularity.

    For example, this syntax is really straightforward and easy to understand:

    <button v-on:click="changeName()">Change the name!</button>
    <p>{{ name }}</p>
    
    <script>
    new Vue({
      data: {
        name: 'Max'
      },
      methods: {
        changeName() {
          this.name = 'Manu'
        }
      }
    })
    </script>

    This is basically how Vue works!

    Obviously, it has way more features than reacting to clicks and outputting some dynamic content. But snippets like this are a good indicator for how approachable a framework is.

    You will literally need no difficult setup to run this code, a single import in your .html file suffices:

    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    <button>...
    ...

    If you ever worked with React or Angular, you know that it’s not always that easy. For React.js, you typically need a build process that allows you to use JSX (though, you also can use React without that), if you’re using Angular, you need the Angular CLI to get started.

    Obviously, it’s not just the simplicity Vue offers (and “simplicity” is by no means meant negatively - it does not mean “limited in what it can do”!). Vue.js also offers great performance and a very small bundle size (around ~60kb minified and gzipped).

    And it has all the features you need for big and enterprise-level applications. Unlike React.js, Vue also is a complete framework and brings its own Router and State Management Solution (Vuex).

    If you want a more thorough introduction into all the awesome features Vue has to offer, my complete guide course should be really helpful. You can get it at an attractive discount.

    # What could be better?

    So - Vue.js is amazing, right?

    It’s definitely pretty fun to use, extremely popular and a great alternative to React or Angular.

    But of course, it also has its deficits.

    The biggest “weakness” (some would call it a “strength” actually) of Vue is, that it doesn’t have a big company that would back it. React.js has Facebook, Angular has Google.

    Vue.js has a dedicated team but it’s not being developed by a single large company.

    Of course, you could also see this as an advantage since it ensures Vue’s independence - and I would 100% agree there.

    But a large company also acts as a “marketing machine”. Other companies, which might be in the process of choosing a frontend framework, will of course scan all alternatives. And for Angular (Google) and React.js (Facebook) they know that these frameworks/ libraries will work without issues and offer all the features they will need.

    Why?

    Because other companies (Google and Facebook) are paving the way and are a living proof-of-concept!

    Every new version of Angular gets battle-tested in dozens of Google applications that use it. It’s of course the same for React.js and Facebook. Vue.js doesn’t have that same kind of support/ testing.

    In addition, Google will not suddenly drop Angular and stop working on it - the same is true for Facebook. Whilst it is unlikely that all Vue.js team members decide to quit working on the project, the risk of reduced (or no) maintainence is of course higher than for Angular or React.js.

    Vue.js is funded by the public (you can support it here) and hence needs to fund itself. This is not the case for Angular and React.js which are funded by their respective companies.

    It’s probably also for those reasons that adoption by big companies has been slower than it has been for React.js and Angular. Though, it is worth mentioning that prominent companies like Alibaba or Adobe are using Vue.js now. And I’m pretty sure, we’ll see further growth in the “big company” market in the future.

    # What will change in 2019?

    There will be one bigger change towards the end of 2019 (or beginning of 2020): The release of Vue.js version 3 - you can also track progress here.

    Whilst the technical foundation of Vue.js is pretty good already and the syntax is very approchable, JavaScript is evolving quickly. And Vue.js 3 will be completely re-written (internally). Whilst the public API will stay mostly the same, some breaking changes should be expected (read the official blog post for more details).

    The new version will take advantage of modern JavaScript features and is therefore likely to further reduce the bundle size and improve performance - this never sounds like a bad idea.

    Besides the already earned popularity (which still is growing strongly), these additional, technical improvements might also accelerate big company adoption of Vue.js, bringing it closer to React.js and Angular.

    # What will change in 2020+?

    The release of Vue.js 3 might very well happen in 2020 instead of 2019 - it’s simply too early at the moment to be more precise.

    No matter when it’s released, the effect will definitely be felt in 2020. We can all take advantage of the improved performance and some interesting new features and as already outlined, more and more companies might therefore look into Vue.js.

    Other than that, it’s reasonable to assume that normal maintainance will continue after the release. And we’ll certainly see additional features being added over time - just as it was the case with Vue.js 2 since its initial release two years ago.

    # Summary

    There’s never been a better time to dive into Vue.js!

    It was and is fun to learn and use, it is extremely popular and there are many resources that make learning it particularly easy. In addition, the syntax is intuitive and offers all the features you might need for your project.

    With Vue.js 3, chances are very good that Vue will continue moving into the right direction - potentially accelerating growth.