Transcript from the "Why Angular" Lesson
[00:00:00]
>> Let's go ahead and let's get into the big picture and let's just kind of break down everything at a high level. So this is the big picture and I also call this module how to impress your Angular friends at a dinner party. Or if you simply watched this module, and then you're like peace out, I'm going to top golf or I'm gonna go play pickleball or whatever you're gonna do.
[00:00:30] If you just remember this module right here and if your boss says, hey like I gave you the day off for that workshop, what did you learn? Just repeat this and I think you'll be pretty good. So I am giving you a Ferris Bueller day off scenario here, but you gotta pay attention to this module if you're going to be convincing.
[00:00:51] So as with anything, the question is why Angular. Why would given the kind of the plethora of options that are available to us in terms of front end frameworks even no framework is a viable choice. Why would somebody choose Angular? And so just to clarify that I am not going to talk about Angular is awesome because this framework is not awesome, is that I believe just right at the onset that when you look at all of kind of the major players in terms of frameworks, I believe that they've pretty much achieved functional parity.
[00:01:35] And so I use Angular, I've used React, I use view. And so it's not going to be that kind of a discussion. But I do think that Angular does bring some things to the table. That depending on some contextual circumstances, I think it's really well suited for a certain type of development.
[00:01:59] So one of the big ones that I like is that Angular follows common and familiar enterprise patterns and conventions. And so if you are familiar with a classical based language. So you have a background in Java or dotnet and you're familiar or you're comfortable with a class based approach with some of the classic design patterns that Angular follows a lot of those ideas and it's very familiar.
[00:02:35] So Angular was one of the first frameworks to go all in on TypeScript. And I think that was a really good move on their part, because it allowed classical bass developers to have parity with languages that they were already familiar with. It is also a batteries included framework.
[00:02:59] So one of the things that I like about Angular is that instead of picking things that are best in class and assembling them, which there is a place for that. Angular when you spin it up and you run it, it comes with a router. It comes with an HTTP client, it comes with testing utilities right out of the gates.
[00:03:23] And so when you are spinning up a new project, it reduces the barrier to entry in terms of the things that you have to kind of compose in to get started that with Angular, you can immediately get started. And you have a router. You have an HTTP client.
[00:03:43] You have a testing framework that comes with that as well with testing utilities versus well, what am I using for a router. What am I using for HTTP like, am I using Axios or some other thing or just even the built in HTTP client. So this is prescriptive without being restrictive.
[00:04:04] And it reduces the amount of decisions that you need to make up front. It also ships with tooling. So the Angular CLI we're going to talk about this in a little bit, but it has or it comes with some pretty effective tooling for accelerating your developer workflow. And so we're going to use the Angular CLI and by extension and I'm not going to cover it in this workshop, you have norwall NX dev tools which allows you to take that even further.
[00:04:38] And so there's a lot of tooling that allows you to be very effective very quickly. But also has a rich and a vibrant ecosystem, which is nice. So you have Angular material, you have like ag grid has a really great implementation for Angular. And like I said a lot of frameworks have parody but a lot of the things that I wanna do in Angular, I find that there's typically an implementation somewhere.
[00:05:03] That's pretty good. And it also has a proven track record. So just Google itself uses Angular internally for hundreds and hundreds of products or products projects, but I have also personally implemented Angular in a number of fortune 500 companies and even smaller startups. And so it is pretty battle tested and proven in the enterprise.
[00:05:31] This is probably the only thing that I'm going to say about AngularJS one dot x. And I'm only bringing this up to provide or just some context of when AngularJS came out that I believe the predominant framework at the time was backbone which didn't really have a lot of opinions about anything it was just NVW, whatever.
[00:05:55] NV Model view whatever in the world you want it to be. And with AngularJS 1.X it was a little overwhelming at first, but people realize that there's not too many pieces on the board. You have modules config routes. You have a controller, you have your template, those were glued together via scope.
[00:06:15] And then if you needed to extend a controller, you did that with a service, if you needed to extend a view, you did that with a directive. And so a lot of individuals they were able to say, well, it's only eight pieces. I can figure that out. Well, with Angular it got even easier.
[00:06:35] Is that you have modules, routes, components, and services, and that's it. And so we're going to step through each one of these pieces, talk about them and see how they all fit together.