My bittersweet journey with Angular

I spent 3 months trying to build a basic to-do app with Angular. In the end, was the experience worth it?

Six months into learning JavaScript, someone advised me to learn Angular (React was my first choice). At first, I was skeptical about learning a JavaScript framework because I felt I lacked the experience, but I was wrong.

3 months of pain and doubt

  • I had to learn the basics of TypeScript (the concepts of generics took me a while to understand)

  • Don't even get me started on RxJs. I still don't fully understand how subjects work

  • The most annoying thing about learning Angular during those 3 months was that the docs were not helpful. It was as if the Angular team had written for experts (they made so many assumptions). I opened an issue on GitHub addressing this, and I was informed that there are plans to improve the docs. You can tell from the tone of the issue that I wasn't happy when I opened it

A manifestation of hope

  • I was on the verge of giving up on learning Angular when I discovered MDN's Angular tutorial

  • I built a to-do app within a month by following the tutorial. Shortly into this tutorial, I soon began to realize that Angular is not complicated at all, and I started falling in love with it. As time went by, I started discovering valuable content from Angular experts on YouTube and Twitter. Some of these experts include the amazing Enea Jahollari, Santosh Yadav, Joshua Morony, and many others.

  • As they say, practice makes perfect. I can confidently explain generics along with other advanced TypeScript features with ease now. I also appreciate Rxjs now that I kind of understand how it works

Was the experience worth it?

Although my initial experience with Angular was bitter, I eventually fell in love with it after 3 months. I particularly love how it provides you with everything you need to get going (services, Rxjs, angular material, i18n, etc.). Need to work with forms? Just import the forms module; need to work with APIs? Import the HTTP service. Plus, Angular is built with TypeScript. What's not to like about it?

So, yes the experience was worth it.

During those 3 months, I had to learn Dependency Injection, OOP concepts, pipes, Rxjs, TypeScript, decorators, and so on. The takeaway here is that Angular has a steep learning curve, and if you are not patient and passionate about it, you will not go very far. It is called a framework for a reason (React et al. are not frameworks, no shade!)

What next?

I would probably have abandoned Angular if it were not for the comprehensive tutorial on MDN. Although I have not built a personal project with Angular yet, mainly because of school, I hope to dive deeper into the framework and build a few personal projects in the future.