I have used various JavaScript frontend frameworks since 2017 and today I will tell you why I’m still biased towards Angular.
First a quick reminder of what Angular is. According to Angular.io (2023) “Angular is an application-design framework and development platform for creating efficient and sophisticated single-page apps.”
Now let’s start with the 5 points I’ve made today that I really like about Angular and I think no other frontend framework/library does better than Angular.
Angular CLI
“The Angular CLI is a command-line interface tool that you use to initialize, develop, scaffold, and maintain Angular applications directly from a command shell.” Angular.io (2023)
With Angular CLI we can create new Angular applications in an interactive way with different options offered during the creation process such as the preprocessor to use for style files (css, scss, sass, less), routing, package manager (npm, yarn, pnpm, cnpm) and more.
Besides creating a new project it can be used to add support for external libraries with the ng add command, build, deploy, lint, run e2e tests, generate components, services, guards, pipes, help to migrate to newer versions of Angular and much more!
React.js for example does not have an official cli but there are many options such as Create React App which is dreaded by some React developers, Vite, Next.js or doing a custom solution with Webpack and many more methods offered from the community which isn’t always clean and well planned, makes you think much more about the right way to create a React application and everything else that the Angular CLI does must be done manually or with the help of IDE/editor plugins.
Routing
“A service that provides navigation among views and URL manipulation capabilities.”
Angular.io (2023)
Angular has had built in routing supported by the Angular team ever since it was released with features such as lazy loading and guards and it has been very stable with no breaking changes for almost 7 years now.
Coding Style Guide
Angular has had a Style Guide since the very beginning, it is very detailed, includes design patterns and rules, definitely worth reading and following their guide.
When I look at an Angular project from 2017 and now, there are many things that are improved but the coding style is consistent compared to other frameworks or libraries across different projects and teams.
Errors
😅❤️I love Angular errors. The Angular team has done an incredible job with having common errors reference that many developers experience frequently. A very common error that almost all Angular developers experienced it is ”ExpressionChangedAfterItHasBeenCheckedError” and a quick search will lead you to the official Angular documentation with a solution of how to debug it, even with a video tutorial!
https://angular.io/errors/NG0100
Easy Migrations & Features are rolled out in Backwards Compatible way
While other framework users are sometimes frustrated when a new version comes out and need to migrate to it, I’ve always been excited to see a new version of Angular, because I never had any issues updating to the newer version and all new versions are backwards compatible.
Angular has an update guide too, yes! At https://update.angular.io/ you can select the version you’re currently on and the target version you want to update to and it will provide you the steps you need to follow to complete the migration successfully.
Any favorite features of Angular of yours I forgot to mention?
Please mention it in the comments section.
References:
https://angular.io/guide/styleguide