Vue uses its own HTML template syntax with which you can bind the rendered DOM to the underlying data. When the data changes, Vue automatically updates all instances in the HTML. Although React is still more popular, Vue is quickly catching up. It has a flat learning curve, great dev tools (even a Vue CLI), and some decent learning resources, too.
With Angular, you can create single-page applications for any platforms, including web, mobile web, native mobile, and native desktop. It’s a great choice if you have already used a statically-typed language such as Java, C++, or C#. It takes more time to learn Angular than Vue or React, as it has a large code base and several possibilities. But, it has a huge ecosystem and is very popular on the job market, too.
The Relay framework enables you to create static queries by adding GraphQL to the views that will use the data. Then, Relay aggregates these queries into consistent network requests. By generating code ahead of time, you can create faster and more performant applications. You can either convert your existing React apps with Relay or start to develop a new one using Relay Modern.
Similar to view frameworks like Vue and React, Mithril also relies on components and interacts with the virtual DOM. However, it also has some built-in utility modules you won’t find in React, such as out-of-the-box XHR and routing.
As you can see, if you know how to use HTML and JS, you can start creating Aurelia applications without much further learning. Aurelia has a reactive binding system and syncs your UI with the best performance possible. It also has a fairly large ecosystem with developer tools like a CLI, Chrome debugger, and Visual Studio Code plugin.