1 00:00:00,270 --> 00:00:03,960 In this section, we're going to dive into the angular framework. 2 00:00:04,140 --> 00:00:06,120 I know you're excited to get started. 3 00:00:06,360 --> 00:00:12,900 But before we get into writing some code, I want to talk about why Angular is completely different 4 00:00:12,900 --> 00:00:14,280 from other frameworks. 5 00:00:14,520 --> 00:00:20,490 The purpose of this lecture is to give you a proper expectation of what Angular brings to the table. 6 00:00:20,790 --> 00:00:22,950 It stands out from the competitors. 7 00:00:23,460 --> 00:00:25,470 Let's take a step back for a moment. 8 00:00:25,800 --> 00:00:34,830 Frameworks are common in every programming language they exist within C-sharp, Java, C++, Go, Python, 9 00:00:34,950 --> 00:00:37,590 and almost any other language you can think of. 10 00:00:37,830 --> 00:00:41,760 Typically, we can put frameworks into two categories. 11 00:00:42,270 --> 00:00:48,720 There are a configuration over conventional frameworks and convention over configuration frameworks. 12 00:00:48,960 --> 00:00:52,830 Both types of frameworks have their advantages and disadvantages. 13 00:00:53,460 --> 00:00:56,100 Some developers prefer one over the other. 14 00:00:56,610 --> 00:01:02,670 A configuration over conventional framework focuses on providing you a minimum setup for starting a 15 00:01:02,670 --> 00:01:03,540 new project. 16 00:01:03,810 --> 00:01:06,840 Less boilerplate means a smaller learning curve. 17 00:01:07,080 --> 00:01:10,830 For that reason, these types of frameworks are more popular. 18 00:01:11,130 --> 00:01:17,280 These frameworks are extendable, so if you need to add more features, you'll be able to do so with 19 00:01:17,280 --> 00:01:17,760 ease. 20 00:01:18,450 --> 00:01:24,420 Since these types of frameworks are popular, third party developers will frequently provide open source 21 00:01:24,420 --> 00:01:27,660 solutions for problems not solved by the framework. 22 00:01:27,930 --> 00:01:35,700 Features like form validation, authentication, storage, etc. On top of being extendable, these frameworks 23 00:01:35,700 --> 00:01:40,260 give you complete freedom over the structure of your project's file names. 24 00:01:40,380 --> 00:01:44,120 Variables, classes and directories can be organized. 25 00:01:44,130 --> 00:01:50,910 How you see, fit, react and view are examples of frameworks that are configuration over convention. 26 00:01:51,300 --> 00:01:54,720 They focus on interacting with the view of the application. 27 00:01:54,990 --> 00:02:01,110 If we need additional features, we need to install and configure external libraries separately. 28 00:02:01,470 --> 00:02:04,860 For example, React doesn't come with state management. 29 00:02:05,100 --> 00:02:09,030 You need to install either flux or redux to fill in that hole. 30 00:02:09,750 --> 00:02:14,850 Despite their popularity, there's one glaring issue with these types of frameworks. 31 00:02:15,150 --> 00:02:16,950 It can be challenging to scale. 32 00:02:17,190 --> 00:02:20,970 At some point, you will need to have standards in your project. 33 00:02:21,270 --> 00:02:25,290 Carelessly throwing code wherever you want can lead to tech debt. 34 00:02:25,920 --> 00:02:28,200 That doesn't mean these frameworks are terrible. 35 00:02:28,290 --> 00:02:29,190 Far from it. 36 00:02:29,430 --> 00:02:32,040 On the contrary, there's a reason they're popular. 37 00:02:32,310 --> 00:02:37,890 Developers can develop complex and scalable apps if they're careful every step of the way. 38 00:02:38,370 --> 00:02:43,770 If the community of the framework puts in the effort, these problems can be avoided. 39 00:02:44,400 --> 00:02:51,030 The next type of framework is convention over configuration instead of configuring everything yourself. 40 00:02:51,270 --> 00:02:54,720 These types of frameworks are configured out of the box. 41 00:02:55,020 --> 00:03:01,530 The framework will help you with deciding how classes and files or organize from within your project. 42 00:03:02,310 --> 00:03:06,990 Another benefit is the suite of features that come with these types of frameworks. 43 00:03:07,290 --> 00:03:08,240 Need routing? 44 00:03:08,250 --> 00:03:08,940 You're covered. 45 00:03:09,240 --> 00:03:10,770 How about state management? 46 00:03:10,920 --> 00:03:11,850 Not a problem. 47 00:03:12,150 --> 00:03:16,170 What about a solution for working with forms that's also covered? 48 00:03:16,440 --> 00:03:19,050 It's a batteries included type of framework. 49 00:03:19,650 --> 00:03:20,970 There's just one problem. 50 00:03:21,330 --> 00:03:25,440 A convention over configuration or framework has a high learning curve. 51 00:03:25,710 --> 00:03:28,320 There's a lot to memorize as a result. 52 00:03:28,530 --> 00:03:32,040 It can feel overwhelming to beginners for that reason. 53 00:03:32,190 --> 00:03:36,210 Most beginners tend to shy away from these sorts of frameworks. 54 00:03:36,810 --> 00:03:40,860 Angular is considered a convention over configuration framework. 55 00:03:41,070 --> 00:03:43,470 It stands out from the crowd for this reason. 56 00:03:43,830 --> 00:03:50,220 The developers behind the framework wanted to create a framework for a large sized applications. 57 00:03:50,610 --> 00:03:56,040 The reason I'm mentioning this is because of how intimidating the framework can be to beginners. 58 00:03:56,670 --> 00:04:01,140 A beginner can get started with react or view with a few lines of code. 59 00:04:01,530 --> 00:04:04,860 It's another story for Angular instead of a few lines. 60 00:04:04,980 --> 00:04:08,070 We're given dozens of files for a starter project. 61 00:04:08,430 --> 00:04:12,450 It's not possible to get started with Angular with one line of code. 62 00:04:13,110 --> 00:04:16,230 It's because angular is not meant for small apps. 63 00:04:16,470 --> 00:04:21,990 If you're interested in creating small widgets, angular is probably not the best choice for you. 64 00:04:22,320 --> 00:04:25,980 It's aimed at creating medium to enterprise level apps. 65 00:04:26,250 --> 00:04:28,620 There's a high learning curve, but don't worry. 66 00:04:28,890 --> 00:04:35,310 That's why you're taking this course together will walk through every file to get an understanding of 67 00:04:35,310 --> 00:04:36,300 what's going on. 68 00:04:36,630 --> 00:04:40,080 Now that we know what we're getting into, let's get started.