We traced the sluggish behavior to the combination of AngularJS running on those particular devices, and prepared several prototypes with different frameworks. Ultimately VueJS gave us the best performance (just slightly better than React), so we went with that, rewriting the existing software and adding more promised features.
Our decision for VueJS was entirely grounded in performance within our overall system, but I have subsequently become a big fan of Vue. It's very enjoyable to work with. Glad to see them doing so well!
Does React feel the same way? I know people love it too, but I haven't had an excuse to try it yet.
Never tried Vue. Is it similar?
To me React is the preferable framework, it's much more opinionated and finicky but also more clear and thoughtful once you start approaching problems the way it requires. Vue is a lot like React, but it's extremely flexible and beginner-friendly. It doesn't really require a novice developer or someone coming from something very different like Rails or Angular to change how they think beyond the component structure itself.
Two-way data binding seems much nicer and easier when you first come to Vue, but has so many hidden pitfalls and annoyances that one-way completely side-steps.
That being said, I _despise_ DSLs and they should be avoided at all costs. They seem like a waste of brainspace and extremely fragile. It's my single biggest knock against Vue.
This let's us start using Vue today and slowly phase out AngularJS.
I don't know Vue, and I don't know your setup, but what we opted for was:
1. Building a foundation in Vue/React.
2. Create an iframe component.
3. Load the angularjs app into the iframe.
4. Build a messaging system to notify the parent app of state changes.
5. Build a system to show/hide the angular app depending on the URL or view.
This method worked well for us.
The same pattern at my current role has worked while migrating an AngularJS app to Vue.
But converting a large, old project is always going to be hard. You either need a way to mix two different frameworks, which is going to be messy, or do a complete rewrite, which is a massive amount of work.
it seems that vue is part of the class of good tools that balance good enough structure and user pleasure the right way