Hey, you know what ? I use Angular, and i like it.
My name is Benjamin Richard and i work in web industry since 2000. It makes a long time from now. I used to work on backend with PHP, Java or .Net using, most of the time, MVC pattern. MySQL, PostgreSQL, but also Oracle DB was my favourite databases. And when MeteorJs bring their awesome platform, i had a look at frontend technologies.
Why Angular ? In fact i can't really explain why i worked on Angular, more than React and VueJS. I tried Vue, and developed some applications with it. I liked it. But when it moved from v2 to v3 i didn't understood why they made it so complex, whereas its simplicity was the key part of Vue 1 & 2. So i looked at React and Angular. But, to my mind, Angular was far ahead React even if it was not the opinion of most of developers. To my mind, the fact that Angular bring everything that you need to build an app, is the main advantages. Yes, you can not choose your favorite Http library, your form management, etc. But each part of Angular are made to work well together.
Why not Angular ? maybe because it was hard to learn it.
Angular = Typescript + RxJS + the Framework
So you have to master each one to be efficient. And it's harder than mastering a template rendering library like React ;-p
But this time is over in 2024. You don't want RxJS ? use signal. Yes, with v16 Angular bring signal concept. in 2024 with v18 most of signals function was stable. and with v19 two new signals bring a new way of working with async resources. So now, you are able to use Angular without Observable. I would say that it's not a good idea, because they are really usefull, but if it's something you don't want, you can preserve yourself from this concept.
How to start ?
Since 2024, the Angular team has rebuild the website, so have a look at https://angular.dev the content is really impressive.
Then, you need to get NodeJS >v18.19.1 and you can install it somewhere (using docker or anything else) :
npm install -g @angular/cli
Now that you have the Angular cli, you can use it to start a project :
ng new my-new-project
You have to select some configuration like using a Server side rendering or not, using Sass, Scss, or whatever. And that's all.
It will create a folder 'my-new-project' with a simple home page. What's great with Angular, is that you can customize your project in the Angular.json file. The schematics part allows you to define how you want to work when you use the Cli to generate some code :
You want html and css in a single file component like Vue ? yes you can. You want to define the Change Detection Strategy ? yes you can.
Everything is under the node projects.my-new-project.schematics
And its default values are defined by using your answers from the 'ng new' command.
Ho, i forgot something : 'ng new' command has a lot of available parameters. But i will let you discover them for instance.
Now that you project is initialized, it's time to start it :
ng serve
Open a browser on http://localhost:4200 and that's it.
This article is over and next one will be about component creation.
See you !
[note] All articles use command from Angular v19*
[original post] https://medium.com/@rebolon/yet-another-angular-article-part-1-8f9ae6526189
Top comments (0)