Feb 19, 2020
TL;DR
Modern Angular is so wildly different from Angular.js, there's no reason to choose it over any other framework. If you're choosing a new framework, I recommend Vue.js which has very similar syntax and concepts, and an easy learning curve. Vue has the benefit of being very lightweight and incrementally adoptable.
Here's the official doc comparing Vue and Angular.js
Background
I used Angular.js until the release of Angular 2.
The frameworks were so wildly different I went out looking for something better.
Angular 2+ is the most complex option - requires TypeScript, a build system (babel, webpack). Disclaimer - I did not try React or Ember.
I found Vue.js easy to learn as it borrowed many concepts that originated in Angular.js - such as directives, filters, and much of the form handling approach (even ng-model is available as v-model). I've found Vue to be closer to Angular.js (esp. v1.5 which added components) that more modern versions of Angular!
Incremental Adoption
More importantly, Vue.js is incrementally adoptable, and can be used without a build system. The Vue.js intro page embeds 7 entirely independent tiny Vue apps on the same HTML page!
This means you could embed a tiny Vue.js app inside your Angular.js app, and slowly swap out sections slice by slice, until the entire app has been replaced. A similar approach was used by Slack to incrementally migrate their entire app to modern React.
This approach can also be done when migrating to Angular 2 +. Check out episode 141 of Adventures in Angular for a discussion of this approach.
My personal pick would be Vue.js, but regardless of the framework you choose, incremental adoption is the way to go.
- UPDATE Turns out there's an entire ecosystem of tools for embedding components of one framework inside another - such as angular2react and react2angular