I just wanted to leave my opinion here since I did a not so small project in Vue 2 for university and have worked with Angular 1.
First of all I really like Vue and it’s much easier to work with than with Angular 1, there are less concepts to understand and the browser extension is way better than the Angular version. Also it looks like it’s easier to control the performance of Vue than the performance of Angular. (e.g. viewing a table with about 150 records really slowed the Angular app)
But there is a caveat: really please don’t use Webpack. I don’t say webpack is bad (it isn’t actually) but there are some things which makes developing very difficult:
- a production build takes about 2 minutes in the project I was speaking of
- the output of Webpack is impossible to debug, the errors you get inside your console are a bit random (every variable is mangled and line numbers are wrong). A solution is to use a development server include in Webpack (also reduces the build time) but even then errors are hard to debug. Line numbers are off by a random number (> 30), you don’t know which file caused the error, and integrating the development server inside a project like Nextcloud isn’t that easy.
- in my experience the development is very Chrome oriented, what I mean with this is that the development “should” work in Chrome and maybe it works in Firefox. But even then things like source maps doesn’t work very well in Chrome.
Also don’t use Babel, yes ES6 is better than earlier versions, babel works perfectly fine and it’s actually easier to development in it, but babel makes the three points of above even worse. The generated code is even harder to debug.
Rather than webpack I would go with Grunt or Gulp. In the JSXC app we are using Grunt for some time now and it’s actually very handy to work with. With Grunt you have 100% control about how you develop.
TL;DR: go for Vue but don’t use Webpack/Babel etc since it’s hard to develop in and will scare new contributors.