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?
Photo by Towfiqu barbhuiya on Unsplash
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.