An overview of Vue.js and the future of the framework

Alan Ktquez
codeburst
9 min readSep 30, 2017

This post is far from being a guide. It’s another timeline attempt on Vue.js in a well-organized way, from the beginning, to what awaits us in version 3.0 of the framework.

For you that are now getting to know, Vue.js is a progressive framework for you to create user interfaces. Core focuses only on the view layer of your application but leaves you free to integrate other libraries and tools, and can be entirely used to build more robust single-page (SPA) applications.

The creator and his creation

Evan You were born in a town called Wuxi (China). He arrived in the USA and graduated in Arts and History of Art, but always had contact with the development. (I have the impression that the Chinese are robots and one day we’ll find out, 😀)

JavaScript was the language that he always had an interest in because it’s simple and at the same time you can share with the world through the web.

Meanwhile, until starting to develop the Vue.js, he worked on Google and the Meteor project. Coincidentally, he used AngularJS in the period that worked on Google. It was remarkable the similarity in some concepts in version 1.0 of Vue, which seemed an improvement over the Angular.

The Vue.js project was published on Github in February 2014.

The initial idea was always to create a progressive framework, where the core is primarily composed only to focus on the data links as well as on components. It also had the desire to be something more developer friendly, making anyone who knew HTML, CSS, and JavaScript to learn Vue and use it direct and quick.

With the intention of also solving the problem of some frameworks that solves everything, even if you do not use all potential (called full-stack frameworks). Routing tools, application state management, and Ajax requests have all been left to choose who to use, making the user only use what they need.

Vue is a growing framework, and the numbers of users who are joining are impressive.

  • ~750k of monthly installations via (NPM) em 2017
  • ~69k of stars on Github
  • In 2017 always remained among the 10 in the trending of Github

Where to find content

The documentation has to be your best friend, in it, you’ll find all the API well detailed and with examples of easy understanding. But I will mention here some resources that will help you in the beginning and even for those who already use Vue in their projects, contribute to solidifying their knowledge.

And we cannot fail to talk about @maxedapps in Udemy which has the most recommended course in the community.

Ecosystem

You just use Vue.js already part of the ecosystem, answers questions, creates plugins and components, transmits knowledge, writes articles and more.

Here is a list that will be updated whenever new things appear:

Awesome lists

  • Awesome-vue — Everything that is developed in the community separated by categories.
  • Vue-curated — These are the packages designed by the community, but recommended by the primary team.

Newsletters

Forums and Discussions

Jobs

Sponsors

There have already been several discussions about the future of Vue.js because a large company does not maintain it and if you stop and think, this is not a problem, it may be good. Sometimes large corporations, when they are behind a Framework, create policies to defend or exercise some competitive advantage using patents.

We should think that the longevity or adherence of users to a library/structure is not necessarily related to having a large company behind. Some projects supported by large corporations are more durable than others, but some companies can abandon a project, lose track and even have patent clauses that you did not even know existed. (Any similarity to other libraries/frameworks is mere coincidence).

But the Vue no longer runs this risk and is not a concern for the core team.

Vue has some fundraising campaigns to keep the project in full swing. Not only can a company contribute something, but many companies around the world also support the framework, and you too can be a sponsor.

Patreon

You can donate any amount over $10, and you get some rewards. Evan You always emphasizes that the Patreon campaign is exclusive to keep you full-time at Vue.js and its official libraries. Click here to go to Evan You’s Patreon.

OpenCollective

The campaign that takes place in the OpenCollective project is focused on promoting events, meetings, and conferences (which bears the brand of VueConf).

Contributions

Vue.js was made especially for us developers. There are also some ways you can help Vue and official libraries by creating issues on Github, translating documentation, creating plugins/components and making them available to the community, creating tutorials, and so on. Access this link where you can learn how to contribute to Vue.js.

You have many ways to contribute, and this all seems to help others, but the biggest beneficiary is you, even if you are a beginner. Your learning is immense supporting any project, the way you learn to solve problems of other members and also to learn the code of a project to help with something, makes you advance a lot about your knowledge, and much faster than learning through tutorials and article readings.

Mobile

When I think of building mobile applications with Vue.js, it’s an exciting task, but the Vue team has no plans to develop something official, but always recommends some projects where they offer a lot of support in documentation, integration, and improvement in the experience. There are hybrid and native options to solve your problems.

Hybrids

  • Quasar (Android, iOS, and PWA) — It was practically the first project that used Vue.js for hybrid mobile apps;
  • OnsenUI (Android, iOS, and PWA) — Another excellent option and that has a project that is much more stable, experienced and with a much more pleasant UI;
  • Framework 7 (Android and iOS) — Similar to others, it is also an option that has more followers for what I see in the community, and feedbacks are much better than others;

Native

Weex (Android e iOS)
It’s a cool project created by the Chinese company (Alibaba), and with it, you can develop native apps using the Weex syntax (which is pretty much the same thing as Vue, with few changes), and you can also use Vue syntax.

We know this project will be the alternative to ReactNative, but documentation, learning resources, and community involvement are still very limited in the East, and even less widespread in the West. There are already Asian companies with apps created with Weex on the Apple Store and Google Play.

It’s used in Alibaba’s app and already behaved very well in ‘Double eleven’ which is a festival run by the biggest companies in China, similar to Black Friday, but as it is in China, you should understand the proportion of such a promotion by over there.

What Weex need are people who can contribute to bringing better documentation and ways to improve the development experience, similar to what we have in Vue.js.

NativeScript + Vue (Android e iOS)
It is a more friendly project for us from the West, but it is not yet something so mature. The community is creating support, and we will soon have more information on the progress of this project. I recommend you start taking a look now as it will be a promising project.

Server-side rendering (SSR)

Vue from version 2.0 onwards brought server-side rendering support, a boost for those who needed good SEO in their SPAs. Vue has official documentation on this that you can see through this link.

To not repeat content and this post does not get huge, in ktquez blog has an article talking about When to use server-side rendering, separate this link to give a read and know a little more about this feature.

License

Vue.js up to the current version (v2. *) Where I write this publication is about the MIT license, and even in an anomaly in which Vue.js happens to have some change in the license in the future, the current project where anyone can give “fork” in the project.

That fear came from the recent discovery of many in the React community about the license, but from the beginning React used the license (BSD + patent clause), but was brought back onto the agenda on behalf of the Apache foundation that did not authorize React to inclusion with Apache products.

So rest assured, Evan has no intention of modifying the license at this time.

The future

The Vue 3 is already something real among the primary team, and we already have some things announced that we would see in this version, do not expect drastic changes. So far, demand has been made to use the novelties of the ES2015 as using proxies, further reducing the library and optimizing the framework reactivity system.

We still have version 2 that will have several updates like improvements, new features, and new materials. I have listed below some things we can expect from Vue shortly.

Still in version 2

vue-test-utils
It’s a test library (currently in beta) being written by the author of Avoraiz, @EddYerburgh. Providing all the tools required for unit testing for Vue.js applications.

Soon I will update here the day of release of the first official version (scheduled for October), but you can already see how impressive this library is and will help us to write tests simply and easily, you will have no excuse in do not write your tests.

Improvements to TypeScript support
We can already see a better TS support already in the next version that will be v2.5. You can follow the pull request regarding this improvement and even contribute something through this link.

ESlint plugin Vue 3.0
It will be an enhancement in the plugin to maintain best practices when developing with Vue.

Official contents
Soon we will have great news. The Vue team is preparing an Official Style Guide for development with Vue and an Official Cookbook that will address best practices using the recommended libraries and code samples.

As soon as a formal roadmap comes out with what will come in the future of Vue.js, I will post the link here.

What we already know about version 3

The main idea of ​​the Core team is simply to refine the API and internal code, as happened from v1 to v2.

Support for old browsers
To take advantage of new APIs and news from ECMAScript, Vue 3.0 will eliminate support for older browsers such as IE, and will only support evergreen browsers (which are browsers that automatically update themselves).

Vue guarantees that the same features that we will have in Vue 3 will also be developed for Vue 2, so if you need to support old browsers, use Vue 2 without fear of being left behind.

Support for web components
Vue still has nothing to declare or in mind to support Web Components, but @nightmaaan has developed something cool for anyone who wants to write in Vue and transform to web components, you can see the repository of this project in this link.

Reactivity System (ES2015 proxies)
Virtually every reactivity system will be rewritten to use ES2015 proxies, thus achieving higher performance and a dramatic decrease in library size.

It will help you detect changes in arrays easily, for example this.everything[1] = 'value' Vue will be able to identify this change and will automatically update as expected. Vue.set will no longer be accurate and will be deprecated in v3.0.

Wow

I’m glad I did not write much 😅 (joking!). Vue is this simplicity and transparency, the community is growing a lot, and I hope I have given you a summary of what I know based on my experience with Vue since I met him in January 2016. It’s the library I use the most in my projects, I’m not limited to that, but it solves all my problems on the point, and I also believe in yours.

Leave a comment about your experience with Vue, and if you also have something to add to this article, I will update and give the credits. Ahh, and share to a friend who is in doubt or to those who are starting with the most beloved framework in the community.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Published in codeburst

Bursts of code to power through your day. Web Development articles, tutorials, and news.

No responses yet

Write a response