Angular and React are popular frontend frameworks, backed by Google and Facebook respectively. I don’t recommend them.
Angular and React are fine and much like the old adage that nobody got fired for buying IBM, you’ll be politically safe using either one. Vue.js is the frontend framework I’ve wanted since the late 1990s. Take this example of a single file component:
Straight HTML, Typescript, and CSS. Separation of data from presentation. Simple organizational structure. Trivial for any developer to learn. This is the magic of Vue.
Angular in particular is making significant in-roads in corporate settings, viewed as the “enterprise grade” choice. While there is nothing inherently wrong with it, its very complex and in comparison to Vue, needlessly so. JSX, while not required for React, is a significant step backwards. React appears simple on the surface, but quickly falls into the same complexity trap as Angular.
Fundamentally what we want in a frontend framework is a way to encapsulate reusable components. We want to be able to do this using standard languages. We want to make it possible for developers to build actual functionality, quickly. Vue does all of this in a superior fashion to any frontend framework I’ve used in the past twenty years of development.