With the recent release Vue.js 2.x, it’s a question I am asked every time I talk about Vue.js to developers. It’s this somewhat underdog of a framework compared to Angular.js and React.js; so why should anybody learn something that may not benefit them in their job hunt?
Glad you asked.
I’m a big fan of Reddit; so for those who also share my love, here’s your TL;DR. For those not as acquainted with Reddit, that means “Too long; didn’t read”.
With what originally was a potential job opportunity in turn birthed a love due to Vue.js giving me features of both Angular.js and React.js; all with a slimmed down library. I get reactivity, data-binding, Virtual-DOM, and components in the core as well as the ability to add more packages to the framework. Visit www.vuejs.org to get started.
For those who want the lengthy answer, here’s your portion.
The motivation and the dragon egg
I had inside information that a company was leaning towards Vue.js as a front-end framework. That in mind, I wanted to impress them. I took a more unconventional route to a career change; and that can come with stigma. So, anything to make my resume more desirable was a golden ticket. My hopeful destination: A company that willing to nurture and embrace new technology.
In short, I did not get the gig; however, I was exposed to something that not only excited me but was suddenly becoming more known. I felt a thrill alongside a sense of adventure with this discovery. I wasn’t the first to discover it, and yet I could tell I found something I can embrace; what met my needs as a developer. My golden ticket turns out to have an egg; a dragon egg.
The most powerful beasts aren’t always the biggest
Vue.js takes the approach of the framework being lightweight very seriously; weighing it at 70kb for development to a whopping 25.39 kb when minified for production. Its documentation is thorough and engaging; making what can be very bland become flavorful. In addition to palatable documentation, I found videos on YouTube and Udemy; making the most of my visual and kinetic learning styles.
Just because it is not a sexy, beef cake of a framework doesn’t mean it is lacking. I used to describe Vue.js as if Angular.js and React.js had a skinny baby. Of course, I was merely joking, but I now feel otherwise. The more knowledge I gained, the quicker I understood I was undermining the power Vue.js delivers.
Vue.js is effective in smaller projects, and can hold its own even in larger ones. It brings aspects of Angular like data-binding and directives; as well as the Virtual-DOM and components like React.js. They even make a state manager called Vuex that is Vue’s version of Redux and Flux. It brings incredible innovation to a world that is evolving.
Wait…what did you say?
Without making your brains explode, all I said in the previous paragraph was that it makes the developer’s life easier when programming without taking away the reactivity and user-experience. I can add additional tools as I need them, without wasting precious space for the project.
Clearly, I am a fan-boy of Vue.js; and I probably will be for some time. I know there are things that Angular 1.x, Angular 2, and React.js can do better than Vue.js but I wasn’t looking for the best framework. I believe that will never exist. What does exist, though, is a framework I know can solve a lot of my problems while giving my users an incredible experience. I feel that is the purpose of frameworks and how they came about.
Let’s hatch the egg
To find out more about Vue.js, I recommend visiting www.vuejs.org. There are great YouTube videos and awesome Udemy courses on it; personally, I loved Maximilian Schwarzmüller’s course on Udemy and his YouTube playlist. Of course, the other videos are just as great.