Angular - The Complete Guide
Master Angular (formerly "Angular 2") and build awesome, reactive web apps with the successor of Angular.js
Start courseThis course starts from scratch, you neither need to know Angular 1 nor Angular 2!
Angular 9 simply is the latest version of Angular 2, you will learn this amazing framework from the ground up in this course!
Join the most comprehensive, popular and bestselling Angular course and benefit not just from a proven course concept but from a huge community as well!
From Setup to Deployment, this course covers it all! You'll learn all about Components, Directives,Services, Forms, Http Access, Authentication, Optimizing an Angular App with Modules and Offline Compilation and much more - and in the end: You'll learn how to deploy an application!
But that's not all! This course will also show you how to use the Angular CLI and feature a complete project, which allows you to practice the things learned throughout the course!
Angular is one of the pmost modern, performance-efficient and powerful frontend frameworks you can learn as of today. It allows you to build great web apps which offer awesome user experiences! Learn all the fundamentals you need to know to get started developing Angular applications right away.
This course uses TypeScript
TypeScript is the main language used by the official Angular team and the language you'll mostly see in Angular tutorials. It's a superset to JavaScript and makes writing Angular apps really easy. Using it ensures, that you will have the best possible preparation for creating Angular apps. Check out the free videos for more information.
TypeScript knowledge is, however, not required - basic JavaScript knowledge is enough.
Why Angular?
Angular is the next big deal. Being the successor of the overwhelmingly successful Angular.js framework it’s bound to shape the future of frontend development in a similar way. The powerful features and capabilities of Angular allow you to create complex, customizable, modern, responsive and user friendly web applications.
Angular 9 simply is the latest version of the Angular framework and simply an update to Angular 2.
Angular is faster than Angular 1 and offers a much more flexible and modular development approach. After taking this course you’ll be able to fully take advantage of all those features and start developing awesome applications immediately.
Due to the drastic differences between Angular 1 and Angular (=Angular 9) you don’t need to know anything about Angular.js to be able to benefit from this course and build your futures projects with Angular.
Get a very deep understanding of how to create Angular applications
This course will teach you all the fundamentals about modules, directives, components, databinding, routing, HTTP access and much more! We will take a lot of deep dives and each section is backed up with a real project. All examples showcase the features Angular offers and how to apply them correctly.
Specifically you will learn:
- Which architecture Angular uses
- How to use TypeScript to write Angular applications
- All about directives and components, including the creation of custom directives/ components
- How databinding works
- All about routing and handling navigation
- What Pipes are and how to use them
- How to access the Web (e.g. RESTful servers)
- What dependency injection is and how to use it
- How to use Modules in Angular
- How to optimize your (bigger) Angular Application
- An introduction to NgRx and complex state management
- We will build a major project in this course so that you can practice all concepts
- and so much more!
- Pay once, benefit a lifetime!
Don’t lose any time, gain an edge and start developing now!
Course content
Section 1Getting Started
- Course Introduction0:57
- What is Angular?1:59
- Angular vs Angular 2 vs Latest Version3:49
- Angular Setup & First App7:31
- Join our Online Learning Community1:00
- Editing the First App10:05
- The Course Structure4:00
- How to get the Most out of the Course2:25
- What is TypeScript?2:09
- A Basic Project Setup using Bootstrap for Styling4:27
- Where to find the Course Source Code1:00
Section 2The Basics
- Module IntroductionPremium0:56
- How an Angular App gets Loaded and Started7:11
- Components are Important!3:08
- Creating a New ComponentPremium6:51
- Understanding the Role of AppModule and Component DeclarationPremium5:15
- Using Custom ComponentsPremium1:12
- Creating Components with the CLI & Nesting ComponentsPremium3:51
- Working with Component TemplatesPremium3:08
- Working with Component StylesPremium4:02
- Fully Understanding the Component SelectorPremium3:50
- Assignment: Component Basics (Problem)Premium1:33
- Assignment: Component Basics (Solution)Premium6:42
- What is Databinding?Premium2:49
- String InterpolationPremium5:19
- Property BindingPremium6:34
- Property Binding vs String InterpolationPremium3:07
- Event BindingPremium4:09
- Passing and Using Data with Event BindingPremium4:37
- Two-Way-DatabindingPremium2:47
- Combining all Forms of DatabindingPremium1:46
- Assignment: Data & Event Binding (Problem)Premium1:07
- Assignment: Data & Event Binding (Solution)Premium5:12
- Understanding DirectivesPremium2:17
- Using ngIf to Output Data ConditionallyPremium3:52
- Enhancing ngIf with an Else ConditionPremium2:46
- Styling Elements Dynamically with ngStylePremium5:01
- Applying CSS Classes Dynamically with ngClassPremium2:53
- Outputting Lists with ngForPremium3:43
- Assignment: Directives (Problem)Premium2:15
- Assignment: Directives (Solution)Premium7:06
- Getting the Index when using ngForPremium2:52
Section 3Course Project - The Basics
- Project IntroductionPremium1:04
- Planning the AppPremium5:33
- Setting up the ApplicationPremium4:31
- Creating the ComponentsPremium9:32
- Using the ComponentsPremium3:15
- Adding a Navigation BarPremium5:09
- Creating a "Recipe" ModelPremium4:33
- Adding Content to the Recipes ComponentsPremium7:41
- Outputting a List of Recipes with ngForPremium4:37
- Displaying Recipe DetailsPremium5:52
- Working on the ShoppingListComponentPremium1:49
- Creating an "Ingredient" ModelPremium2:35
- Creating and Outputting the Shopping ListPremium2:27
- Adding a Shopping List Edit SectionPremium3:28
- Wrap Up & Next StepsPremium0:54
Section 4Debugging
- Understanding Angular Error MessagesPremium4:36
- Debugging Code in the Browser Using SourcemapsPremium5:32
- Using Augury to Dive into Angular AppsPremium2:01
Section 5Components & Databinding Deep Dive
- Module IntroductionPremium0:36
- Splitting Apps into ComponentsPremium5:56
- Property & Event Binding OverviewPremium1:44
- Binding to Custom PropertiesPremium5:43
- Assigning an Alias to Custom PropertiesPremium1:59
- Binding to Custom EventsPremium9:05
- Assigning an Alias to Custom EventsPremium0:57
- Custom Property and Event Binding SummaryPremium2:02
- Understanding View EncapsulationPremium4:59
- More on View EncapsulationPremium2:43
- Using Local References in TemplatesPremium4:36
- Getting Access to the Template & DOM with @ViewChildPremium5:02
- Projecting Content into Components with ng-contentPremium3:22
- Understanding the Component LifecyclePremium4:54
- Seeing Lifecycle Hooks in ActionPremium11:54
- Lifecycle Hooks and Template AccessPremium2:33
- Getting Access to ng-content with @ContentChildPremium3:00
- Wrap UpPremium0:49
- Assignment: Components & Databinding (Problem)Premium2:17
- Assignment: Components & Databinding (Solution)Premium12:21
Section 6Course Project - Components & Databinding
- IntroductionPremium0:50
- Adding Navigation with Event Binding and ngIfPremium7:31
- Passing Recipe Data with Property BindingPremium4:43
- Passing Data with Event and Property Binding (Combined)Premium10:31
- Allowing the User to Add Ingredients to the Shopping ListPremium7:22
Section 7Directives Deep Dive
- Module IntroductionPremium1:23
- ngFor and ngIf RecapPremium3:36
- ngClass and ngStyle RecapPremium2:56
- Creating a Basic Attribute DirectivePremium6:42
- Using the Renderer to build a Better Attribute DirectivePremium7:04
- Using HostListener to Listen to Host EventsPremium3:00
- Using HostBinding to Bind to Host PropertiesPremium3:17
- Binding to Directive PropertiesPremium6:43
- What Happens behind the Scenes on Structural DirectivesPremium3:04
- Building a Structural DirectivePremium6:13
- Understanding ngSwitchPremium2:49
Section 8Testing HTTP Request -> Response
- Testing HTTP Request / Response IntroductionPremium0:54
- Laravel Test SetupPremium5:11
- Asserting Against Response ContentPremium6:38
- Testing Authenticated EndpointsPremium5:25
- Create a Post ModelPremium8:06
- Full Request -> Response TestPremium6:12
Section 9Course Project - Directives
- Building and Using a Dropdown DirectivePremium6:25
Section 10Using Services & Dependency Injection
- Module IntroductionPremium1:39
- Why would you Need Services?Premium2:04
- Creating a Logging ServicePremium3:32
- Injecting the Logging Service into ComponentsPremium6:21
- Creating a Data ServicePremium6:41
- Understanding the Hierarchical InjectorPremium2:40
- How many Instances of Service Should It Be?Premium2:12
- Injecting Services into ServicesPremium5:13
- Using Services for Cross-Component CommunicationPremium4:06
- Services in Angular 6+Premium1:00
- Assignment: Services (Problem)Premium1:44
- Assignment: Services (Solution)Premium9:37
Section 11Course Project - Services & Dependency Injection
- IntroductionPremium1:23
- Setting up the ServicesPremium1:15
- Managing Recipes in a Recipe ServicePremium4:07
- Using a Service for Cross-Component CommunicationPremium5:07
- Adding the Shopping List ServicePremium5:04
- Using Services for Pushing Data from A to BPremium3:08
- Adding Ingredients to RecipesPremium3:41
- Passing Ingredients from Recipes to the Shopping List (via a Service)Premium7:03
Section 12Changing Pages with Routing
- Module IntroductionPremium1:26
- Why do we need a Router?Premium1:15
- Setting up and Loading RoutesPremium8:01
- Navigating with Router LinksPremium5:18
- Understanding Navigation PathsPremium4:54
- Styling Active Router LinksPremium5:01
- Navigating ProgrammaticallyPremium3:28
- Using Relative Paths in Programmatic NavigationPremium5:09
- Passing Parameters to RoutesPremium3:10
- Fetching Route ParametersPremium4:01
- Fetching Route Parameters ReactivelyPremium7:25
- An Important Note about Route ObservablesPremium2:42
- Passing Query Parameters and FragmentsPremium5:53
- Retrieving Query Parameters and FragmentsPremium3:15
- Practicing and some Common GotchasPremium6:07
- Setting up Child (Nested) RoutesPremium4:28
- Using Query Parameters - PracticePremium5:36
- Configuring the Handling of Query ParametersPremium1:50
- Redirecting and Wildcard RoutesPremium4:36
- Redirection Path MatchingPremium1:00
- Outsourcing the Route ConfigurationPremium4:40
- An Introduction to GuardsPremium1:45
- Protecting Routes with canActivatePremium8:55
- Protecting Child (Nested) Routes with canActivateChildPremium2:51
- Using a Fake Auth ServicePremium1:43
- Controlling Navigation with canDeactivatePremium12:28
- Passing Static Data to a RoutePremium5:56
- Resolving Dynamic Data with the resolve GuardPremium9:53
- Understanding Location StrategiesPremium4:43
- Wrap UpPremium0:51
Section 13Course Project - Routing
- Planning the General StructurePremium1:36
- Setting Up RoutesPremium7:58
- Adding Navigation to the AppPremium1:41
- Marking Active RoutesPremium1:31
- Fixing Page Reload IssuesPremium2:51
- Child Routes: ChallengePremium1:54
- Adding Child Routing TogetherPremium4:21
- Configuring Route ParametersPremium6:22
- Passing Dynamic Parameters to LinksPremium3:01
- Styling Active Recipe ItemsPremium1:14
- Adding Editing RoutesPremium3:44
- Retrieving Route ParametersPremium3:19
- Programmatic Navigation to the Edit PagePremium4:46
- One Note about Route ObservablesPremium0:52
- Project CleanupPremium1:00
Section 14Understanding Observables
- Module IntroductionPremium4:25
- Analyzing Angular ObservablesPremium2:15
- Getting Closer to the Core of ObservablesPremium6:50
- Building a Custom ObservablePremium4:46
- Errors & CompletionPremium6:39
- Observables & You!Premium1:55
- Understanding OperatorsPremium8:39
- SubjectsPremium8:17
- Wrap UpPremium1:15
- Useful Resources & LinksPremium1:00
Section 15Course Project - Observables
- Improving the Reactive Service with Observables (Subjects)Premium6:04
Section 16Handling Forms in Angular Apps
- Module IntroductionPremium1:19
- Why do we Need Angular's Help?Premium2:21
- Template-Driven (TD) vs Reactive ApproachPremium1:16
- An Example FormPremium1:32
- TD: Creating the Form and Registering the ControlsPremium5:42
- TD: Submitting and Using the FormPremium6:15
- TD: Understanding Form StatePremium2:29
- TD: Accessing the Form with @ViewChildPremium3:03
- TD: Adding Validation to check User InputPremium4:14
- Built-in Validators & Using HTML5 ValidationPremium1:00
- TD: Using the Form StatePremium4:27
- TD: Outputting Validation Error MessagesPremium2:23
- TD: Set Default Values with ngModel Property BindingPremium2:15
- TD: Using ngModel with Two-Way-BindingPremium2:48
- TD: Grouping Form ControlsPremium3:30
- TD: Handling Radio ButtonsPremium3:27
- TD: Setting and Patching Form ValuesPremium4:42
- TD: Using Form DataPremium4:44
- TD: Resetting FormsPremium1:47
- Assignment: Template-driven Forms (Problem)Premium1:15
- Assignment: Template-driven Forms (Solution)Premium12:17
- Introduction to the Reactive ApproachPremium0:40
- Reactive: SetupPremium2:26
- Reactive: Creating a Form in CodePremium4:07
- Reactive: Syncing HTML and FormPremium3:58
- Reactive: Submitting the FormPremium2:15
- Reactive: Adding ValidationPremium2:50
- Reactive: Getting Access to ControlsPremium3:47
- Reactive: Grouping ControlsPremium3:46
- Reactive: Arrays of Form Controls (FormArray)Premium7:31
- Reactive: Creating Custom ValidatorsPremium6:11
- Reactive: Using Error CodesPremium3:20
- Reactive: Creating a Custom Async ValidatorPremium4:38
- Reactive: Reacting to Status or Value ChangesPremium2:11
- Reactive: Setting and Patching ValuesPremium2:09
- Assignment: Reactive Forms (Problem)Premium1:04
- Assignment: Reactive Forms (Solution)Premium13:48
Section 17Course Project - Forms
- IntroductionPremium0:59
- TD: Adding the Shopping List FormPremium3:42
- Adding Validation to the FormPremium2:21
- Allowing the Selection of Items in the ListPremium4:24
- Loading the Shopping List Items into the FormPremium3:02
- Updating existing ItemsPremium3:15
- Resetting the FormPremium2:34
- Allowing the the User to Clear (Cancel) the FormPremium1:16
- Allowing the Deletion of Shopping List ItemsPremium2:52
- Creating the Template for the (Reactive) Recipe Edit FormPremium4:59
- Creating the Form For Editing RecipesPremium5:06
- Syncing HTML with the FormPremium3:52
- Adding Ingredient Controls to a Form ArrayPremium5:39
- Adding new Ingredient ControlsPremium3:38
- Validating User InputPremium5:10
- Submitting the Recipe Edit FormPremium7:30
- Adding a Delete and Clear (Cancel) FunctionalityPremium4:47
- Redirecting the User (after Deleting a Recipe)Premium1:47
- Adding an Image PreviewPremium1:48
- Providing the Recipe Service CorrectlyPremium1:58
- Deleting Ingredients and Some Finishing TouchesPremium3:34
- Deleting All Items In A FormArrayPremium1:00
Section 18Using Pipes to Transform Output
- Introduction & Why Pipes are UsefulPremium2:01
- Using PipesPremium3:28
- Parametrizing PipesPremium2:10
- Where to learn more about PipesPremium1:56
- Chaining Multiple PipesPremium2:20
- Creating a Custom PipePremium6:42
- Parametrizing a Custom PipePremium2:36
- Example: Creating a Filter PipePremium7:01
- Pure and Impure Pipes (or: How to "fix" the Filter Pipe)Premium4:46
- Understanding the "async" PipePremium4:03
- Assignment: Pipes (Problem)Premium1:13
- Assignment: Pipes (Solution)Premium5:10
Section 19Making Http Requests
- A New IDEPremium0:43
- Module IntroductionPremium1:06
- How Does Angular Interact With Backends?Premium3:09
- The Anatomy of a Http RequestPremium2:27
- Backend (Firebase) SetupPremium2:35
- Sending a POST RequestPremium10:11
- GETting DataPremium2:56
- Using RxJS Operators to Transform Response DataPremium3:59
- Using Types with the HttpClientPremium5:07
- Outputting PostsPremium2:15
- Showing a Loading IndicatorPremium2:03
- Using a Service for Http RequestsPremium6:37
- Services & Components Working TogetherPremium3:28
- Sending a DELETE RequestPremium3:27
- Handling ErrorsPremium6:38
- Using Subjects for Error HandlingPremium2:39
- Using the catchError OperatorPremium2:13
- Error Handling & UXPremium2:07
- Setting HeadersPremium3:18
- Adding Query ParamsPremium4:01
- Observing Different Types of ResponsesPremium7:32
- Changing the Response Body TypePremium3:16
- Introducing InterceptorsPremium7:24
- Manipulating Request ObjectsPremium2:32
- Response InterceptorsPremium2:46
- Multiple InterceptorsPremium4:52
- Wrap UpPremium1:57
- Useful Resources & LinksPremium1:00
Section 20Course Project - Http
- Module IntroductionPremium0:55
- Backend (Firebase) SetupPremium2:03
- Setting Up the DataStorage ServicePremium5:32
- Storing RecipesPremium6:39
- Fetching RecipesPremium5:38
- Transforming Response DataPremium4:17
- Resolving Data Before LoadingPremium7:31
- Fixing a Bug with the ResolverPremium1:43
Section 21Authentication & Route Protection in Angular
- Module IntroductionPremium0:52
- How Authentication WorksPremium5:01
- Adding the Auth PagePremium6:44
- Switching Between Auth ModesPremium4:02
- Handling Form InputPremium3:44
- Preparing the BackendPremium3:15
- Preparing the Signup RequestPremium8:24
- Sending the Signup RequestPremium4:36
- Adding a Loading Spinner & Error Handling LogicPremium6:34
- Improving Error HandlingPremium5:39
- Sending Login RequestsPremium6:00
- Login Error HandlingPremium4:28
- Creating & Storing the User DataPremium10:16
- Reflecting the Auth State in the UIPremium9:41
- Adding the Token to Outgoing RequestsPremium10:15
- Attaching the Token with an InterceptorPremium8:48
- Adding LogoutPremium3:18
- Adding Auto-LoginPremium9:55
- Adding Auto-LogoutPremium7:39
- Adding an Auth GuardPremium10:56
- Wrap UpPremium1:55
- Useful Resources & LinksPremium1:00
Section 22Dynamic Components
- Module IntroductionPremium1:09
- Adding an Alert Modal ComponentPremium7:33
- Understanding the Different ApproachesPremium2:28
- Using ngIfPremium3:05
- Preparing Programmatic CreationPremium8:27
- Creating a Component ProgrammaticallyPremium4:46
- Understanding entryComponentsPremium5:06
- Data Binding & Event BindingPremium5:05
- Wrap UpPremium1:25
- Useful Resources & LinksPremium1:00
Section 23Angular Modules & Optimizing Angular Apps
- Module IntroductionPremium0:41
- What are Modules?Premium2:26
- Analyzing the AppModulePremium6:24
- Getting Started with Feature ModulesPremium8:59
- Splitting Modules CorrectlyPremium4:09
- Adding Routes to Feature ModulesPremium4:35
- Component DeclarationsPremium1:58
- The ShoppingList Feature ModulePremium4:27
- Understanding Shared ModulesPremium8:10
- Understanding the Core ModulePremium5:48
- Adding an Auth Feature ModulePremium4:22
- Understanding Lazy LoadingPremium2:52
- Implementing Lazy LoadingPremium12:20
- More Lazy LoadingPremium3:02
- Preloading Lazy-Loaded CodePremium3:39
- Modules & ServicesPremium5:46
- Loading Services DifferentlyPremium8:24
- Ahead-of-Time CompilationPremium9:50
- Wrap UpPremium0:49
- Useful Resources & LinksPremium1:00
Section 24Deploying an Angular App
- Module IntroductionPremium0:52
- Deployment Preparation & StepsPremium3:18
- Using Environment VariablesPremium4:44
- Example: Deploying to Firebase HostingPremium9:01
- Server-side Routing vs Client-side RoutingPremium1:00
Section 25Bonus: Working with NgRx in our Project
- Module IntroductionPremium0:46
- What is Application State?Premium9:07
- What is NgRx?Premium6:55
- Getting Started with ReducersPremium6:44
- Adding Logic to the ReducerPremium5:47
- Understanding & Adding ActionsPremium6:16
- Setting Up the NgRx StorePremium4:48
- Selecting StatePremium8:51
- Dispatching ActionsPremium7:09
- Multiple ActionsPremium9:37
- Preparing Update & Delete ActionsPremium3:08
- Updating & Deleting IngredientsPremium10:59
- Expanding the StatePremium9:17
- Managing More State via NgRxPremium9:52
- Removing Redundant Component State ManagementPremium3:32
- First Summary & Clean UpPremium5:25
- One Root StatePremium11:39
- Setting Up Auth Reducer & ActionsPremium8:25
- Dispatching Auth ActionsPremium5:53
- Auth Finished (For Now...)Premium6:43
- An Important Note on ActionsPremium6:24
- Exploring NgRx EffectsPremium3:38
- Defining the First EffectPremium5:19
- Effects & Error HandlingPremium8:57
- Login via NgRx EffectsPremium9:08
- Managing UI State in NgRxPremium7:30
- Finishing the Login EffectPremium7:11
- Preparing Other Auth ActionsPremium4:09
- Adding SignupPremium6:17
- Further Auth EffectsPremium6:13
- Adding Auto-Login with NgRxPremium8:16
- Adding Auto-LogoutPremium6:31
- Finishing the Auth EffectsPremium2:29
- Using the Store DevtoolsPremium6:20
- The Router StorePremium2:11
- Getting Started with NgRx for RecipesPremium11:03
- Fetching Recipe Detail DataPremium9:14
- Fetching Recipes & Using the ResolverPremium12:00
- Fixing the Auth RedirectPremium2:10
- Update, Delete and Add RecipesPremium15:11
- Storing Recipes via EffectsPremium5:52
- Cleanup WorkPremium1:58
- Wrap UpPremium2:12
- Alternative NgRx SyntaxPremium1:00
- Useful Resources & LinksPremium1:00
Section 26Bonus: Angular Universal
- Module IntroductionPremium3:04
- Adding Angular UniversalPremium10:01
- Adding Angular Universal with NestJSPremium6:18
- Deploying Angular Universal AppsPremium1:00
- The Remaining Lectures In This ModulePremium1:00
- [OPTIONAL] Module IntroductionPremium1:40
- [OPTIONAL] Getting Started with Angular UniversalPremium1:31
- [OPTIONAL] Working on the App ModulePremium4:02
- [OPTIONAL] Adding a Server-Side Build WorkflowPremium4:55
- [OPTIONAL] Adding a NodeJS ServerPremium8:26
- [OPTIONAL] Pre-Rendering the App on the ServerPremium4:11
- [OPTIONAL] Next StepsPremium1:38
- Angular Universal GotchasPremium1:00
Section 27Angular Animations
- Module IntroductionPremium1:03
- Setting Up A Starting ProjectPremium0:52
- Animations Triggers and StatePremium7:11
- Switching between StatesPremium2:04
- TransitionsPremium1:54
- Advanced TransitionsPremium5:21
- Transition PhasesPremium3:57
- The "void" StatePremium6:11
- Using Keyframes for AnimationsPremium5:32
- Grouping TransitionsPremium2:11
- Using Animation CallbacksPremium2:38
Section 28Adding Offline Capabilities with Service Workers
- Module IntroductionPremium2:09
- Adding Service WorkersPremium12:41
- Caching Assets for Offline UsePremium5:28
- Caching Dynamic Assets & URLsPremium7:02
- Useful Resources & LinksPremium1:00
Section 29A Basic Introduction to Unit Testing in Angular Apps
- IntroductionPremium1:18
- Why Unit Tests?Premium2:12
- Analyzing the Testing Setup (as created by the CLI)Premium8:01
- Running Tests (with the CLI)Premium1:59
- Adding a Component and some fitting TestsPremium6:14
- Testing Dependencies: Components and ServicesPremium6:55
- Simulating Async TasksPremium9:41
- Using "fakeAsync" and "tick"Premium2:14
- Isolated vs Non-Isolated TestsPremium6:10
- Useful Resources & LinksPremium1:00
Section 30Angular as a Platform & Closer Look at the CLI
- Module IntroductionPremium1:44
- A Closer Look at "ng new"Premium5:18
- IDE & Project SetupPremium2:31
- Understanding the Config FilesPremium9:01
- Important CLI CommandsPremium5:25
- The "angular.json" File - A Closer LookPremium11:18
- Angular Schematics - An IntroductionPremium1:41
- The "ng add" CommandPremium4:31
- Using Custom "ng generate" SchematicsPremium3:05
- Smooth Updating of Projects with "ng update"Premium2:14
- Simplified Deployment with "ng deploy"Premium5:46
- Understanding "Differential Loading"Premium5:10
- Managing Multiple Projects in One FolderPremium4:35
- Angular Libraries - An IntroductionPremium2:51
- Wrap UpPremium1:27
Section 31Course Roundup
- RoundupPremium1:33
Course instructor
Maximilian Schwarzmüller
As a self-taught professional I really know the hard parts and the difficult topics when learning new or improving on already-known languages. This background and experience enable me to focus on the most relevant key concepts and topics. My track record of many 5-star rated courses, more than 1,000,000 students worldwide as well as a successful YouTube channel is the best proof for that.
The most rewarding experience for me is to see how people find new, better jobs, build awesome web applications, work on amazing projects or simply enjoy their hobby with the help of my content. That's why, together with Manuel Lorenz, I founded Academind to offer the best possible learning experience and to share the pleasure of learning with our students.