Choosing the right framework for your product is like buying your first house. You must make a decision that will affect you in the long term and that cannot simply be undone once you’re bored or just aren’t fond of it anymore. And all the while you need to be aware that once you make the investment, you won’t able to afford a new one anytime soon.

Even after you finally find a house you feel you’re ready to pull the trigger on, you still may have some reservations: you love the facade, but the backyard could be a bit bigger. You like the colors of the walls, but you’d prefer a slightly different shade. Plus, the kitchen kinda feels outdated. Well, let’s be honest—there simply isn’t a perfect house out there that would just have it all. Especially when it’s your first one. Even if you decided to build one from scratch, there would always, always be room (room, get it?) for improvement.

And this is exactly how it feels when you have to choose between Vue, Angular, React, maybe Backbone, Aurelia, or some other library. Some of them feel good for your product, some of them don’t. They all have their flaws and all have aspects to them you just love.

(We won’t even try to mention the ever-changing landscape of JavaScript, because it will make you question the very sense of even making such a decision, and then flip the table over once you have it set every now and then.)

Nevertheless, it’s truly awesome that nowadays we’ve got so many viable technology options to choose from, and thus so many avenues we can choose to help us solve our users’ problems.

Most people who follow Monterail know that we personally favor Vue.js and like to suggest it as the technology of choice to our new clients. No two products are the same, however, and we like making educated decisions, unbiased by external factors.

In 2020, Vue.js was (again) in the top 3 trendiest repositories in the JavaScript world, receiving over 164,640 stars on GitHub throughout the year, far surpassing the numbers for Node or Angular. With every passing month, Vue gains more traction and records ever high downloads numbers. There are obviously reasons for that, and we will be discussing them in Chapter One.

When you first start working with it, Vue may at first glance seem that perfect house you’ve been looking for. BUT. That’s right. There are always some “buts”—although in this case, they become noticeable primarily when Vue is compared to other technologies, as covered by Chapter Five).

So, before you decide to add Vue.js to your technology stack, read this.