Unfortunately, I have to admit that I have fallen in love with VueJS, the progressive framework of Javascript, which has been a trend for months and to which I am now going to dedicate a few entries. If you are a reader of the blog, you will be able to see that I have not delved deeper into JavaScript frameworks such as React or AngularJS, for various reasons, which I now detail and which I had not been able to mention before. Today yes!
What VueJS is
It is a framework to work with Javascript, although it also allows to work with other web languages such as TypeScript or CoffeScript, it is free, open source, made in the community for the community and that is in full swing. The motive, I’ll give you several:
1. – If you manage well with HTML, CSS and Javascript, the learning curve is fast (or very fast, rather), and that is to be appreciated. Personally, there is a library that has made it much easier for me to learn Javascript, and it is none other than the omnipresent jQuery.
2. – Quick Render based on components: if things, in addition to doing them well, you make them fast…. normal that they are adopted quickly. Although React was a pioneer, VueJS also makes use of the concept of virtual DOM, which is part of the speed that VueJS includes.
3. – Includes Data-binding: if you have worked with React or AngularJS, you will know that data-binding is almost obligatory, and VueJS also incorporates it, which is all advantages for the developer.
4. – Extensive documentation and above all, a multitude of examples: you have to explain very well how to use your product, and excellent documentation helps, and if on top of that it is a “simple” product to incorporate, even more.
5. – Progressive? The progressive attribute refers to the base (vue. js) is very light, only 20 kb minimized, but depending on your needs you can incorporate new features with the use of plugins or extensions. In this way, you will learn Vue by adjusting only to your needs, without having to learn things you won’t need, or you will incorporate it progressively as it becomes necessary. In other words: there is a basis for working, which is extensible according to the needs to be met.
This point 5 is great, because what am I doing routing if I don’t need it? And isn’t it great to work with isolated components that allow code reuse?
With this background, it is normal that VueJS succeeds.
The 6th motif
I would add a 6th motif: there is no compatibility rupture from one version to the next.
Although in the blog I have talked about several Javascript frameworks like React or AngularJS, because they are driven by Internet giants, the 6th point has been very important not to learn any of those frameworks.
There is nothing more frustrating in Javascript than to change the framework version and nothing works!
How I knew what it was all about, because React changes so much between versions, and AngularJS have the same flaw, they don’t make me attractive to learn one thing so that in a few months, nothing works for me, everything fails and I start all over again.
On the other hand, it must be acknowledged that they have sought to create tools that make life easier for developers, and in the case of React, even with an exclusive flap for debugging. I can’t comment much on AngularJS, because I haven’t gone from very basic examples where data-binding was fundamental.
All mixed, but sorted
Another unfavourable point towards React above all, is the fact of the return to the spaghetti code: HTML, CSS, and mixed Javascript, but now more than ever, and above all with incompatibilities in some words, transforming the JSX “into something else”,… Honestly, everything that gains in speed is lost in the learning curve, also concepts too deep to understand,…
VueJS, in my opinion, has taken great care of that details, because it is possible that in a component you have everything, but with an order. Point for VueJS!
Another important detail, in my opinion, is the issue of allowing the use of templates, avoiding loaders. So far, that’s what I’ve been using, with good results thanks to HandlebarsJS.
In short, I have convinced myself that VueJS is worth learning.
And you, have I convinced you? Well, maybe I will convince you when you can see a small example, but that’s for a new entrance, where we started working with VueJS.