The Famous Misconceptions in Angular

Vugar Abdullayev
Geek Culture
Published in
6 min readMay 9, 2021

--

As Front End developer who worked in Forune 500 companies such as Raymond James financial advisory company and SwissRe leading insurance broker, in this blog we gonna discuss some famous misconceptions among non- Angular developers. This blog should be unbiased and focused on facts only.

Myth #1: Steep Learning Curve in Angular and R.O.I

One of the famous misleading opinions we observe among people especially on Twitter and youtube gurus is ‘Angular has a steep learning curve’. The short answer is yes, Angular has not a small road to learning and master. But let’s first analyze the definition of this concept. A steep learning curve refers to: ‘The amount of time required to learn is big’. Interesting but what makes it BIG? First, let’s point out Angular is a fully-featured framework. It has built-in Routing, powerful Forms, Dependency Injection and it is built-in Typescript. In addition, when learning Angular you learn also software development principles and patterns which in other web frameworks are not required. This knowledge is applied and transferred to other programming languages too(from PHP to .NET). I often relate it to R.O.I which stands for Return for Investment in Stock Market. When you invest in something and see benefits in our case(simplicity in development later)then it is worth it. then You think Forms is simple to manage? Just try it please with complex projects. See this blog. Let’s compare it with a libary or framework which is easy to learn and does not have any of those built in features. Now can we imagine building a real-life enterprise application without any of those features? Well, No. The web application is NOT the promised TODO app you see in bootcamps. It is more challenging and more interesting. Now for enterprise projects, besides UI rendering, calculate the amount of time to learn those missing 3rd party packages and sum it up with the time required to choose the best fit for the company. Now sum it up again with Typescript which is extremely famous and used in most enterprises regardless of which tool you use. We conclude that the learning curve is more or the same.

>Investing time for Angular

Finally, we are going bust this myth with the below quote:

‘Easy to learn does NOT mean easy to build a real app’.

Myth #2: Angular is bloated.

Most of the time, the blogs that I came across in medium have the same wrong opinion. They mention that Angular is bloated because you need to install angular forms, routing and etc. Those packages are not required for Angular, if you build an application that does not need forms, routing then you dont import those packages are hence they are not included in the bundle. You are also free of choice of using other 3rd packages if you desire.

Myth #3: NPM Stats shows Angular is behind React or VueJs

Another popular opinion can be observed in blogs is that Angular is not popular because it is behind in npm stats.

Let’s first start with the definition of this concept before analysis:

NPM stats illustates the number of downloads of package in a given amount of time.

So you may wonder why the number of Angular downloads is not leading here. Well, let’s first remember that Angular is popular mostly in big and very big enterprise projects. In those big companies with thousands of developers, people do not simply install packages from NPM default registry. Instead, company infrastructure has its own virtual registry which has cache and custom security settings. This means the real number of downloads of package(in this case Angular) is NOT reflected in npm stats. We can confirm that by comparing the amount available of jobs in javascript front end world. It is May 9, 2021, 00:37 in Poland time while I am writing now. I am comparing stats of jobs via indeed.com worldwide. From the results we can observe that Angular has 18,929 jobs, React has 12,096 and Vuejs has 3,204 jobs. So it proves again those npm stats do not reflect the reality.

Indeed stats May 9 2021

Myth #4: Angular is changing in every version.

Another interesting opinion we can observe, some developers who are not familiar with Angular think it is new framework on each new version with a lot of breaking changes. But it is far from reality. Angular is focused on incremental improvements and minimal breaking changes. Also, those breaking changes are mostly taken care by powerful ng update( thanks to angular/cli team).

For instance: recently, we have upgraded our project which was part of a leading insurance broker company from v10 to v11. So it took us less than an hour. There was a small routing-related breaking change and it was taken care of by ng update. The other example but much smaller project is my custom library. Roughly 1 hour was spent to upgrade from v6 to v10. There were minor breaking changes and it was migrated by ng update.

Finally, we have reached the conclusion of the blog. This article was not about bullying Angular but rather focusing on myths and facts. I have worked with Angular, React, VueJs. All have their own advantages and have a bright future IMO. That’s all, hope you enjoy it. Also please do not hesitate to contact me by the article responses or my Twitter ! Cheers!

Update: Regarding RxJs is overkill reactions. Let’s analyze
below screenshot with and without using RxJs.We see that on the top we use pure RxJs, on the bottom without RxJs. On the Bottom, we declared 4 new variables for a simple thing. Each variable comes with a maintenance costs,s especially in complex proejects. The worst part is, it is not even reusable. It is just a simple TODO task that we develop often. This is related to R.O.I which I meant above.

Without RxJS
With RxJS

See my other posts:

--

--