News

What Is Angular & Why Use It?

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

Angular was created at Google back in 2009 and was originally named AngularJS, though the JS suffix has been removed since the release of Angular 2.0 in 2016. The suffix gives away its historical roots as a JavaScript framework to create single-page web applications. Frameworks like AngularJS and Angular provide us with the tools to build web apps, while also defining how they are designed and setting out how to organise the code.

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.

AngularJS and Angular have one major defining difference too, which is the languages they are based on. As we mentioned before, AngularJS was based on JavaScript, but from Angular 2 onwards the developers based it on TypeScript.

 

Confusingly, TypeScript is a superset of JavaScript ES6 (a more modern, internationally standardised version of Javascript). Put simply, TypeScript takes all the features of JavaScript ES6 and expands/enhances it to include more features.

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

  • Steep Learning Curve. There are a number of new topics, aspects and working methods required when inexperienced in Angular. However, it is rooted in JavaScript so most developers will understand the basic principles and be able to adjust accordingly. Once they have, the sky is the limit in terms of what they will be able to do.
  • 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.

Conclusion

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.