In the 2019 Stack Overflow developer survey, they found that approximately 1 in 3 professional developers use Angular. We fall into this category, using it for a large amount of the front-end development of our user interfaces. With that said, we acknowledge that it’s not a silver bullet solution for every situation and you should pick the right tool for the job. So, what is Angular? This article will lay out what we use it for, what we see as its pros and cons, and also summarise its sometimes-complicated history.
The History Of Angular
AngularJS (Version 1) contained a lot of imperfections and resulted in the developers completely rewriting the framework for Angular (Version 2). They incorporated many ideas to match modern web design requirements and concepts, and the resulting framework was so different that the name change was made to distinguish between the two.
Since 2016 and the release of Angular 2, the speed of updates and releases has increased dramatically. In June 2020, Angular 10 was released. Between these two points, due to the support from both Google and the open-source community around it, Angular has evolved to incorporate many new features, including Google’s Material Design development kit. Many developers, including ourselves, believe that Angular will continue to grow and evolve for a long time to come, and the backing of Google will help it succeed.
Why Use Angular? The Pros
- Core Modules. Angular has a number of core modules which contain tools to speed up the development process.
- Cross Platform. The same framework can be used to create desktop, web, mobile and native apps.
- Data Binding. Two-way data binding is a massive help in Angular. As it was built with the Model-View-Controller concept at the fore, the data binding was designed to keep the Model and View parts in sync. If one part changes, you can see it in the other immediately. This saves developers time, as no code has to be written to keep these parts synchronised.
- Decoupled Components. Individual components within the application can be altered and replaced very easily.
- Designed for Testing. Angular has been built to support unit testing and end-to-end testing. This was considered a vital concept when the framework was created.
- Continually Evolving. A large and active community means there is a lot of support and reading/research material to improve your understanding. There are also lots of third-party tools available for specific needs.
Why Use Angular? The Cons
- Complexity. Components, dependencies, syntax, libraries…the way they work together can be difficult to manage sometimes. The language itself can also be quite long-winded. It’s fine once you are accustomed to it, but that requires an investment of time on the developer’s part.
- Large File Sizes. Due to the complexity and capability of Angular, it often results in final applications being larger than other frameworks. But it’s not an insurmountable problem, as minifiers and bundlers are well used tools to get around this issue.
- Testing & Debugging. Again, the complexity of the framework means that these processes are initially slower and more taxing than with other frameworks. There are many tools out there to help with these issues, though.
- Migrating From AngularJS. Legacy software built with AngularJS, especially if it is large, can be challenging to migrate. Fortunately, it is possible and there are a number of ways to go about it. Just don’t expect it to be a walk in the park.
Many developers have issues with Angular, which we completely understand. We also agree that for smaller applications it may be unnecessary to use such an extensive framework. With that said, we believe the benefits of Angular really lie with its versatility and potential to construct anything up to enterprise level software. It’s especially useful for large projects.
Ultimately, as we’ve said before, it’s all about choosing the right tool for the job. For the work we do, this is a tool we call on often. To find out more about how our Angular development experts can help you, or to hire them, contact us now.