To add to the hassle of trying to decide which tool best suits you, many developers have very strong opinions about why their framework of choice is not only the best option but the only valid option, giving a completely one-sided perspective. This locks a lot of newcomers into the mindset of there only being one option, restricting their exposure and willingness to learn.
I spent a lot of time experimenting with Angular and Ember, the two popular frameworks dominating StackOverflow at the time (~2013). Both offered a lot of improvements over my existing approach but for whatever reason I just didn't like them.
In late 2014 I noticed a surge of questions on StackOverflow revolving around the Vue.js framework. I spent some time in the documentation and was eager to give it a try especially after reading the authors perception of React and Angular compared to Vue, which I agreed with completely. I played around with it for a few weeks before deciding I was comfortable enough with it to implement it in a project at work. Two years later it was the best decision I ever made; we've used it successfully in over a dozen large applications with a lot of success.
What made it right?
Other highlights include:
- It is extremely lightweight and efficient.
- It has recently experienced a huge surge of popularity since the 2.0 release, making it appear as a perfectly credible option when compared to those like Angular and React. This is important because:
- I wanted confidence in investing long-term in a framework, which would not have been possible if it was not being adopted in the community.
- Extensions, plugins, assistance and so on are plentiful.
- It makes myself, my team and the company more credible and professional.
- It is easy to collaborate on Vue projects with its broken component system (though this applies to the other options too).
- It does not force you into an "all-in" workflow. Smaller projects can leverage minimal Vue features, completely avoiding complicated boilerplate and configuration. This allows newcomers to transition into Vue across several projects, rather than requiring a large upfront investment.
Overall I am confident it was the right choice. Though I still invest my own time in React, I would not feel comfortable using it on larger projects at work.