Angular as your first JavaScript framework?
Tags: angular, beginners
Published: 2021-04-11 16:14:22


### Does the following sound relatable?

I started coding not that long ago.
I am going through the four horsemen of Web Development 
(HTML ,CSS , JS & PHP). 
I want to achieve more so now it is time for me to invest some effort into a nice and exciting framework! 
**Check? Keep reading!**
___________________________________
> ->Be me
> ->Bad version of columbus the framework explorer
> ->Dive towards first framework in sight 
> ->Dive deeper than expected
> ->No mermaids
> ->No backing out now
> ->Play 'Oxygen Not Included' 
> ->Should play 'Subnautica' instead
> ->Wrong again
> ->Should stick to coding, really
> ->To late now

So here you are, doing your framework research. Good job!

I recently went through my first "big" project.
A 'tinder meets dogwalking'-app. It was fun and I am fairly happy with the result. In the process of coding this thing I did stumble upon some findings. Findings that I like to tell you in a short summary. 


**Synopsis**
As a beginner I wish I learned React or Vue instead.
I had one month for the project and spend almost two weeks on simply understand Angular and getting started with the basics. It's darn hard.
Truth be told, I might not be the best coder but odds are that I am at least close to the average Joe, and odds are that you are as well. 

Still, Angular is quite amazing to work with and is definitely worth your time but I think the benefits of the framework are for those who already have a more advanced understanding of code. 
___________________________________	
## Angular,
a pretty impressive framework.
___________________________________
**Two-way Binding**
Angular is a Single Page Application, so it is all about updating the view with components. 
Two-way binding gives components in your application a way to share data. The app listens to an event and updates your data simultaneously. The page never gets reloaded, only updated. It makes the app super fast. Big benefit apparently, but is it that half a second extra speed important to you and your coding project? 
___________________________________
**MVC**
Angular provides MVC architecture, which auto updates 'imports' and is generally speaking "plug-and-play". Not being familiar with the concept is not a problem in Angular since the framework guides you through it. To use Angular is to use it's architecture. 
I personally learned a lot about MVC, just from working with Angular. 
___________________________________
**Angular.io**
I got the best information about the framework on Angular.io.
For me It was the first time that I learned something without YouTube.
This is both a pro and a con. The documentation is solid but it takes a while to digest of course.
There is a "heroes" tutorial provided on angular.io that is splendid and takes you over the basics. 
For me it was not enough to completely understand Angular but maybe its works like a charm for you. Information was exponentially harder to find if I had a problem unrelated to-, or a problem beyond the scope of the tutorial.. 
But really, that tutorial... wow! 
___________________________________
**TypeScript**
Angular works with TypeScript. Although not the hardest, it can offer some extra resistance. I think it is definitely not a bad thing, but it does elevate that already steep learning curve some more. 
I suggest a question to consider: would you prefer learning React-JsX over Angular-Typescript?  
___________________________________
**Angular Material**
Like most common frameworks, Angular has a build in way (after some installs) of styling:
'Angular Material – A Comprehensive and Modern UI'. 
It is very neat and allows you to develop extremely fast but I missed some documentation, especially on the forms part which to me sounds crucial.
___________________________________
**Tests**
All code in Angular is required to go through a series of tests. This convenience allows you to develop and test everything at the same time. Combined with the power of TypeScript, you automatically know what went wrong and where it happened. They have a very smooth error system. Every time something is wrong, even in different files, the issue just gets underlined in red and it saves you a whole bunch of time! I think this is one of my favorite things about Angular, it gives you a comfortable space to test things out and see if they work. 
___________________________________
**Second conclusion**
So overall I really enjoyed working with the framework! It was just a "female dog" to get started with and perhaps my life would have been easier if I started out with React or Vue. All three frameworks have a lot in common. the differences seem minor to me (a beginner) so I recommend other beginners to start with an easier one to learn!  
___________________________________ 
[^1]: As a beginner I am prune to making mistakes. Any comments and suggestions on this article are welcome! :)