For a software course about rich client Javascript applications we want students to be able to choose what framework they will use. Now to give us a little bit of control we want them to be able to choose from Vue.js, React or Angular. As far as I can see Angular and React are both almost equal in technical complexity. But Vue.Js, although it's very popular, seems more flat and shallow.
We want to test students if they are able to build a solution that is:
- Modular (components, modules, etc)
- Has complex user interaction
- Is tested via unit test and UI testing
- Follows the separation of concern principle
My question: Can Vue.JS compete with Angular and React based on the criteria listed above?