Why I chose Vue.js over React and Angular

Why I chose Vue.js over React and Angular

What did it for me, was not any specific functionality, syntax, etc. but rather the entourage of required tools.

My tech stack (the collection of tools I use to develop software) is extensive as it is, and I don't want to add to it without very good reason. In fact I am on a constant quest to reduce it.

However, playing with Vue.js made me realize that I needed something like this (a reactive JavaScript framework) in order to move forward with web based UIs. This is just so much simpler and more productive than manipulating the DOM directly.

I have read enough "React vs. Angular vs. Vue.js" articles, as well as in dept on each one, that I am confident that technically they would all work perfectly fine for my purpose.

What initially caught my attention with Vue.js was the simplicity of the HTML templates and the component system, but what really made the difference was that Vue.js let me add a single JavaScript file (vue.min.js) to my web-page, and I was up and running. As far as I know, this is not possible with React or Angular.

It appears that getting into React or Angular would also require me to adopt a list of other new tools - Node.js, Npm, Webpack, and Babel. I am sure that these are all great tools, but I have absolutely no desire to learn any of them, since they serve no other purpose for me!

My primary development tool is Visual Studio, and my web-sites are ASP.NET WebForms written in VB.NET on the server side. As for client side browser stuff, VS automatically compiles TypeScript to JavaScript, and VS plug-ins take care of compiling Sass and bundling/minifying JavaScript and CSS. This works perfectly for me, and I am quite happy with this setup :-)

I am confident that I could pick up any new development tool if I really wanted to. But I have been a software developer long enough to know that my productivity would go way down while learning the new tool, and that the more tools I add, the less proficient I will be with each one of them. The human brain has limits - at least mine does :-)