This course has been updated! We now recommend you take the Angular 9 Fundamentals course.
Transcript from the "Course Introduction" Lesson
[00:00:00]
>> Lukas Ruebbelke: I've had the opportunity to meet everyone here, but I just wanted to formally just welcome everybody in the room, but also online, to Learn to Build Awesome[r] Apps with Angular. So this is a refresh of the previous course, so essentially this is, kind of the intro to Angular, the introduction to Angular.
[00:00:20] What's interesting is that, a few days ago, I sat down to review the sample app, and I was just like, no, no, no, no, this isn't gonna work. Tore it all down, and so to that end, is we're going to cover a lot of the same material, but the sample app is completely brand new.
[00:00:40] It's using Angular material, which is actually one of the reasons why I burn it to the ground. I don't think Angular material is quite ready when we did this previously but, so new sample app. And instead of two days, we're going to have this as a three-day workshop.
[00:00:59] And so, how I see this kind of, the narrative arc for this course, is we're going to introduce Angular but in the context of building a single feature. Then tomorrow, we are going to talk about how these features actually fit together. So single feature, then tomorrow, we'll talk about actually the features, so we'll get into component-driven architecture, little bit of polish towards the end in terms of taking our template-driven form, making it reactive, as well as introducing some animations.
[00:01:36] And then, completely new material is going to focus on, when you build your application, well then what? And so moving our focus from features and building this working application that consist of features, to focusing on your application and what you kind of do from there. So what this comes down to is, how do you build an application at scale?
[00:02:01] So we'll talk about routes, lazy modules, lazy loaded modules, we'll talk about actually deploying the app, optimizing the app for performance, doing some static analysis in some of these different things that once you have an app built, like you put it into the wild, like how do you keep it up and running, how do you keep it stable, and performing at the best possible level that it can.
[00:02:25] So we're going to start very broad, very kind of general, and start to build up so that by the end of the three days, we have a pretty good idea how to not only build an application, but to release it into the wild. And if something goes wrong or something is slow, we kind of know how to address that.
[00:02:42] So the first two days are going to be kind of applied theory, if you will, and then that third day is, into the wild, what do we do? Now, with that said, my absolute favorite part of doing workshops is getting feedback and having the conversations with students and finding out what are the things they're struggling with, and then modulating my content to kind of address those things.
[00:03:09] And so kind of that moment, it's like i'm struggling with this thing, I got it, and kind of that moment, that ah-ha moment, like vicariously, I live for that. So there is kind of some leeway towards the end of day three, I have a general idea of how it's going to go.
[00:03:27] I have actually more content than I can fit into a single day, just some very kind of practical things. But if you will go to use bit.ly link, there's just a real easy survey and just fill this out, and if I get enough responses that's kind of keying on a certain thing, then I will adjust the content accordingly.
[00:03:53] So for some reason, let's say, we get 50 responses and it's really heavy on testing, then I will allocate more time towards that. So I mean, ultimately, we kind of have a bit of a blank canvas. Or if anything, we have the lines on the canvas, and I'm giving everybody the opportunity to kind of tell me how they want to color that in.
[00:04:16] So if you go to the survey, please fill it out. I will keep an eye on it, and this will kind of affect how I prioritize what we talk about on day three, and possibly even work some stuff in on day two as well. But the point is that, I'm here to kind of address pin points, and if I know what they are, then it makes my job easier.
[00:04:40] So also just a bit of housekeeping, that we're all friends here. And so I would imagine, a lot of people have not met each other. By the end of three the days, I think you have an incredible set of resources here, in terms of fellow developers. I highly, highly encourage communication and collaboration among your fellow students.
[00:05:04] So on the co-challenges, if you finish your co-challenge, what I would like you to do is just turn to your neighbor and say, hey, how are you doing? Are you stuck, are you finished? And kind of have those, that conversation to make sure that everybody kinda crosses that finish line together.
[00:05:22] So no developer left behind. Because this is, when you are in an organization, this is kind of how this works, is one developer is having a problem and if you are in a good team with a good culture, then somebody is gonna pick up on that and they're going to help you.
[00:05:35] So for all intents and purposes, let us assume that we work on an awesome team together in a company with an awesome culture, and we're here to help each other. As well as if I say something that doesn't make sense or you want me to clarify, by all means, just raise your hand and ask the questions.
[00:05:52] So I love conversation, and do not be afraid to speak up or add some input.
>> Lukas Ruebbelke: So day one is focusing on, have a strong grasp on how to construct a single feature in Angular. And so, what I mean by feature is kind of a single, encapsulated piece of functionality.
[00:06:17] So for instance, if you had like a user's form, where you could do, put in user information, that would be a user feature. And so the idea is how do we build that up? And so for the most part, we're gonna be focusing around the component today. And then tomorrow, we'll get into kind of component-driven architecture.