-
Урок 1.
00:01:32
Welcome To The Course!
-
Урок 2.
00:01:50
What Exactly Is Angular?
-
Урок 3.
00:06:42
Why Would You Use Angular?
-
Урок 4.
00:04:45
Angular's Evolution & Stability
-
Урок 5.
00:07:03
Creating A New Angular Project
-
Урок 6.
00:04:49
Setting Up An Angular Development Environment
-
Урок 7.
00:01:46
About This Course
-
Урок 8.
00:01:20
Module Introduction
-
Урок 9.
00:06:28
A New Starting Project & Analyzing The Project Structure
-
Урок 10.
00:06:19
Understanding Components & How Content Ends Up On The Screen
-
Урок 11.
00:05:15
Creating a First Custom Component
-
Урок 12.
00:05:21
Configuring the Custom Component
-
Урок 13.
00:06:09
Using the Custom Component
-
Урок 14.
00:06:21
Styling the Header Component & Adding An Image
-
Урок 15.
00:04:29
Managing & Creating Components with the Angular CLI
-
Урок 16.
00:05:09
Styling & Using Our Next Custom Component
-
Урок 17.
00:02:08
Preparing User Data (To Output Dynamic Content)
-
Урок 18.
00:03:56
Storing Data in a Component Class
-
Урок 19.
00:02:31
Outputting Dynamic Content with String Interpolation
-
Урок 20.
00:04:38
Property Binding & Outputting Computed Values
-
Урок 21.
00:03:30
Using Getters For Computed Values
-
Урок 22.
00:04:05
Listening to Events with Event Binding
-
Урок 23.
00:03:07
Managing State & Changing Data
-
Урок 24.
00:02:07
A Look Behind The Scenes Of Angular's Change Detection Mechanism
-
Урок 25.
00:12:54
Introducing Signals
-
Урок 26.
00:03:41
We Need More Flexible Components!
-
Урок 27.
00:08:18
Defining Component Inputs
-
Урок 28.
00:02:57
Required & Optional Inputs
-
Урок 29.
00:14:01
Using Signal Inputs
-
Урок 30.
00:01:48
We Need Custom Events!
-
Урок 31.
00:07:00
Working with Outputs & Emitting Data
-
Урок 32.
00:06:13
Using the output() Function
-
Урок 33.
00:01:58
Adding Extra Type Information To EventEmitter
-
Урок 34.
00:08:48
Exercise: Create a Configurable Component
-
Урок 35.
00:08:07
TypeScript: Working With Potentially Undefined Values & Union Types
-
Урок 36.
00:04:47
Accepting Objects As Inputs & Adding Appropriate Typings
-
Урок 37.
00:03:11
TypeScript: Type Aliases & Interfaces
-
Урок 38.
00:05:34
Outputting List Content
-
Урок 39.
00:04:27
Outputting Conditional Content
-
Урок 40.
00:05:22
Legacy Angular: Using ngFor & ngIf
-
Урок 41.
00:06:15
Adding More Components to the Demo App
-
Урок 42.
00:06:31
Outputting User-specific Tasks
-
Урок 43.
00:04:05
Outputting Task Data in the Task Component
-
Урок 44.
00:03:45
Storing Data Models in Separate Files
-
Урок 45.
00:04:37
Dynamic CSS Styling with Class Bindings
-
Урок 46.
00:05:26
More Component Communication: Deleting Tasks
-
Урок 47.
00:05:25
Creating & Conditionally Rendering Another Component
-
Урок 48.
00:06:31
Managing The "New Task" Dialog
-
Урок 49.
00:10:47
Using Directives & Two-Way-Binding
-
Урок 50.
00:02:20
Signals & Two-Way-Binding
-
Урок 51.
00:03:21
Handling Form Submission
-
Урок 52.
00:07:21
Using the Submitted Data
-
Урок 53.
00:06:48
Content Projection with ng-content
-
Урок 54.
00:03:17
Transforming Template Data with Pipes
-
Урок 55.
00:06:16
Getting Started with Services
-
Урок 56.
00:08:03
Getting Started with Dependency Injection
-
Урок 57.
00:05:18
More Service Usage & Alternative Dependency Injection Mechanism
-
Урок 58.
00:03:17
Time to Practice: Services
-
Урок 59.
00:05:41
Using localStorage for Data Storage
-
Урок 60.
00:08:46
Module Summary
-
Урок 61.
00:02:17
Module Introduction
-
Урок 62.
00:03:06
A First Introduction To Angular Modules (NgModule)
-
Урок 63.
00:02:57
Creating a First Empty Module
-
Урок 64.
00:05:22
Bootstrapping Apps with Angular Modules
-
Урок 65.
00:04:47
Declaring & Using Components
-
Урок 66.
00:02:15
A First Summary
-
Урок 67.
00:06:51
Migrating All Components To Use Modules
-
Урок 68.
00:04:13
Creating & Using Shared Modules
-
Урок 69.
00:07:23
Creating More Complex Module-based App Structures
-
Урок 70.
00:05:20
Module Introduction & Starting Project
-
Урок 71.
00:05:11
Adding a Header Component With An Image
-
Урок 72.
00:06:43
Adding a User Input Component
-
Урок 73.
00:02:30
Handling Form Submission
-
Урок 74.
00:08:11
Extracting Values with Two-Way-Binding
-
Урок 75.
00:05:06
Calculating the Annual Investment Data
-
Урок 76.
00:09:26
Cross-Component Communication with Outputs
-
Урок 77.
00:02:59
Creating & Using a Data Model
-
Урок 78.
00:10:10
Passing Data from Parent to Child with Inputs
-
Урок 79.
00:04:58
Outputting Data in a Table
-
Урок 80.
00:01:40
Formatting Output with a Pipe
-
Урок 81.
00:09:56
Using Signals & Resetting The Form After Submission
-
Урок 82.
00:09:36
Using a Service for Cross-Component Communication
-
Урок 83.
00:04:12
Using Signals in Services
-
Урок 84.
00:08:09
Migrating to Angular Modules
-
Урок 85.
00:01:14
Module Summary
-
Урок 86.
00:01:42
Module Introduction
-
Урок 87.
00:03:47
Understanding Error Messages & Fixing Errors
-
Урок 88.
00:06:20
Debugging Logical Errors with the Browser DevTools & Breakpoints
-
Урок 89.
00:03:51
Exploring the Angular DevTools
-
Урок 90.
00:02:01
Module Introduction
-
Урок 91.
00:02:35
Starting Project & An Opportunity For Smaller Components?
-
Урок 92.
00:04:26
When & How To Split Up Components
-
Урок 93.
00:08:46
Splitting A Component Into Multiple Components
-
Урок 94.
00:03:59
Creating Reusable Components
-
Урок 95.
00:05:23
Component Inputs: Repetition
-
Урок 96.
00:08:32
Property Binding: Repetition
-
Урок 97.
00:02:59
Using Content Projection & ng-content
-
Урок 98.
00:06:02
Adding Forms to Components
-
Урок 99.
00:04:28
A Possible, But Not Ideal Way Of Extending Built-in Elements
-
Урок 100.
00:05:09
Extending Built-in Elements with Custom Components via Attribute Selectors
-
Урок 101.
00:06:33
Supporting Content Projection with Multiple Slots
-
Урок 102.
00:03:11
Exploring Advanced Content Projection
-
Урок 103.
00:02:10
Defining Content Projection Fallbacks
-
Урок 104.
00:07:29
Multi-Element Custom Components & Content Projection
-
Урок 105.
00:05:04
Scoping CSS Styles to Components
-
Урок 106.
00:05:23
Understanding & Configuring View Encapsulation
-
Урок 107.
00:02:53
Making Sense of Component Host Elements
-
Урок 108.
00:04:31
Using Host Elements Like Regular Elements
-
Урок 109.
00:02:07
Interacting With Host Elements From Inside Components
-
Урок 110.
00:06:09
When (Not) To Rely On Host Elements
-
Урок 111.
00:05:15
Interacting with Host Elements via @HostListener & @HostBinding
-
Урок 112.
00:04:04
Accessing Host Elements Programmatically
-
Урок 113.
00:04:25
Class Bindings: Repetition
-
Урок 114.
00:03:17
There's More Than One Way Of Binding CSS Classes Dynamically
-
Урок 115.
00:03:31
A Closer Look At Dynamic Inline Style Binding
-
Урок 116.
00:04:43
Manipulating State & Using Literal Values
-
Урок 117.
00:04:03
Introducing the Component Lifecycle: ngOnInit
-
Урок 118.
00:03:12
Implementing Lifecycle Interfaces
-
Урок 119.
00:15:17
Component Lifecycle - A Deep Dive
-
Урок 120.
00:04:08
Component Cleanup with ngOnDestroy
-
Урок 121.
00:02:48
Component Cleanup with DestroyRef
-
Урок 122.
00:02:47
Handling Form Submissions: Repetition
-
Урок 123.
00:07:14
Working with Template Variables
-
Урок 124.
00:01:55
Extracting Input Values via Template Variables
-
Урок 125.
00:02:36
Template Variables & Component Instances
-
Урок 126.
00:09:28
Getting Access to Template Elements via ViewChild
-
Урок 127.
00:06:23
Using The viewChild Signal Function
-
Урок 128.
00:06:59
ViewChild vs ContentChild
-
Урок 129.
00:04:58
A Closer Look at Decorator-based Queries & Lifecycle Hooks
-
Урок 130.
00:03:09
The afterRender and afterNextRender Lifecycle Functions
-
Урок 131.
00:05:29
Making Sense of Signal Effects
-
Урок 132.
00:03:32
TypeScript & Type Models: Repetition
-
Урок 133.
00:04:24
Component Outputs: Repetition
-
Урок 134.
00:05:54
A Closer Look At Template For Loops
-
Урок 135.
00:05:01
Revisiting Inputs & Signals
-
Урок 136.
00:04:51
Updating Signal Values
-
Урок 137.
00:06:14
Cross-Component Communication & State Management
-
Урок 138.
00:04:07
Configuring Component Inputs & Outputs
-
Урок 139.
00:03:56
Two-Way Binding: Repetition
-
Урок 140.
00:08:55
Setting Up Custom Two-Way Binding
-
Урок 141.
00:03:54
An Easier Way of Setting Up Custom Two-Way Binding
-
Урок 142.
00:01:04
Module Introduction
-
Урок 143.
00:02:58
Understanding Directives
-
Урок 144.
00:01:05
The Starting Project
-
Урок 145.
00:05:42
Analyzing a Built-in Attribute Directive: ngModel
-
Урок 146.
00:06:30
Analyzing a Built-in Structural Directive: ngIf
-
Урок 147.
00:08:11
Getting Started with Custom Directives
-
Урок 148.
00:04:48
Using Attribute Directives To Change Element Behavior
-
Урок 149.
00:08:52
Working with Inputs in Custom Directives
-
Урок 150.
00:04:10
Directives & Dependency Injection
-
Урок 151.
00:07:57
Building Another Directive
-
Урок 152.
00:08:23
Building a Custom Structural Directive
-
Урок 153.
00:03:08
Structural Directives & Syntactic Sugar
-
Урок 154.
00:08:00
Host Directives & Composition
-
Урок 155.
00:00:37
Module Introduction
-
Урок 156.
00:02:56
Making Sense of Pipes
-
Урок 157.
00:02:57
Using Built-in Pipes
-
Урок 158.
00:04:19
More Built-in Pipes Examples
-
Урок 159.
00:05:58
Building a First Custom Pipe
-
Урок 160.
00:03:50
Using Custom Pipes to Perform Custom Transformations
-
Урок 161.
00:05:58
Accepting Parameters in Custom Pipes
-
Урок 162.
00:04:45
Chaining Pipes & Being Aware of Limitations
-
Урок 163.
00:06:46
Building a Pipe That Sorts Items
-
Урок 164.
00:04:15
Understanding How Pipes Are Executed
-
Урок 165.
00:01:45
Pure & Impure Pipes
-
Урок 166.
00:02:54
Pipe Limitations & When Not To Use Them
-
Урок 167.
00:03:15
The Starting Project & The Need For A Centralized Service
-
Урок 168.
00:00:59
Module Introduction
-
Урок 169.
00:07:28
Creating a Service
-
Урок 170.
00:02:24
How NOT To Provide A Service
-
Урок 171.
00:05:02
Using Angular's Dependency Injection Mechanism
-
Урок 172.
00:05:28
Using The Alternative Dependency Injection Syntax
-
Урок 173.
00:10:57
Outsourcing & Reusing Logic with Services
-
Урок 174.
00:04:24
Angular Has Multiple Injectors!
-
Урок 175.
00:04:17
There Are Multiple Ways Of Providing a Service
-
Урок 176.
00:03:17
Providing Services via the Element Injector
-
Урок 177.
00:03:45
Understanding the Element Injector's Behavior
-
Урок 178.
00:05:27
Injecting Services Into Services
-
Урок 179.
00:02:30
Analyzing Dependency Injection with the Angular DevTools
-
Урок 180.
00:08:28
Using Custom DI Tokens & Providers
-
Урок 181.
00:05:25
Preparing A Non-Class Value For Injection
-
Урок 182.
00:10:26
Injecting Other Values (NOT Services)
-
Урок 183.
00:03:06
Angular Modules (NgModule) & Dependency Injection
-
Урок 184.
00:02:17
Working with Services Without Using Signals
-
Урок 185.
00:01:53
Module Introduction
-
Урок 186.
00:01:53
Analyzing the Starting Project
-
Урок 187.
00:04:45
Understanding How Angular Performs Change Detection
-
Урок 188.
00:02:46
Change Detection During Development: ExpressionChangedAfterChecked Errors
-
Урок 189.
00:01:20
Writing Efficient Template Bindings
-
Урок 190.
00:05:19
Avoiding Zone Pollution
-
Урок 191.
00:03:22
Using the OnPush Strategy
-
Урок 192.
00:08:38
Understanding the OnPush Strategy
-
Урок 193.
00:02:14
Working with OnPush & Signals
-
Урок 194.
00:04:12
Using Signals for Sharing Data Across Components (with OnPush)
-
Урок 195.
00:03:13
The Problem With OnPush, Cross-Component Data & Not Using Signals
-
Урок 196.
00:11:02
Triggering Change Detection Manually & Using RxJS Subjects
-
Урок 197.
00:04:33
Introducing The async Pipe
-
Урок 198.
00:12:59
Going Zoneless!
-
Урок 199.
00:00:53
Module Introduction
-
Урок 200.
00:01:08
What Are Observables & What Is RxJS?
-
Урок 201.
00:09:18
Creating & Using an Observable
-
Урок 202.
00:05:35
Working with RxJS Operators
-
Урок 203.
00:05:14
Working with Signals
-
Урок 204.
00:06:01
Signals vs Observables
-
Урок 205.
00:03:50
Converting Signals To Observables
-
Урок 206.
00:04:54
Converting Observables To Signals
-
Урок 207.
00:12:25
Deep Dive: Creating & Using A Custom Observable From Scratch
-
Урок 208.
00:02:39
Module Summary
-
Урок 209.
00:01:29
Module Introduction
-
Урок 210.
00:04:43
The Starting Projects: Frontend & Backend
-
Урок 211.
00:04:03
How To Connect Angular Apps To A Backend
-
Урок 212.
00:04:24
Getting Started with Angular's Http Client
-
Урок 213.
00:07:54
Sending a GET Request To Fetch Data
-
Урок 214.
00:03:40
Configuring Http Requests
-
Урок 215.
00:02:52
Transforming & Using Response Data
-
Урок 216.
00:03:12
Showing a Loading Fallback
-
Урок 217.
00:10:46
Handling HTTP Errors
-
Урок 218.
00:07:10
Sending Data To A Backend
-
Урок 219.
00:04:35
More Data Fetching & Some Code Duplication
-
Урок 220.
00:08:59
Outsourcing HTTP Request Logic Into A Service
-
Урок 221.
00:04:55
Managing HTTP-loaded Data via a Service
-
Урок 222.
00:02:42
Implementing Optimistic Updating
-
Урок 223.
00:02:07
Potential Problems Introduced by Optimistic Updating
-
Урок 224.
00:05:10
Improved Optimistic Updating
-
Урок 225.
00:11:11
Implementing App-wide Error Management
-
Урок 226.
00:08:25
Practice: Sending DELETE Requests
-
Урок 227.
00:06:58
Introducing HTTP Interceptors
-
Урок 228.
00:03:04
Introducing HTTP Response Interceptors
-
Урок 229.
00:02:54
Template-driven vs Reactive Forms
-
Урок 230.
00:02:28
Module Introduction
-
Урок 231.
00:06:01
Template-driven: Registering Form Controls
-
Урок 232.
00:08:32
Getting Access to the Angular-managed Form
-
Урок 233.
00:02:47
Extracting User Input Values
-
Урок 234.
00:06:10
Validating Input with Form Validation Directives
-
Урок 235.
00:07:34
Using the Form Validation Status To Provide User Feedback
-
Урок 236.
00:04:46
Adding Validation Styles
-
Урок 237.
00:13:11
Interacting With The Underlying Form Object In The Component
-
Урок 238.
00:05:30
Updating Form Values Programmatically
-
Урок 239.
00:05:19
Reactive Forms: Getting Started
-
Урок 240.
00:03:37
Syncing Reactive Form Definition & Template
-
Урок 241.
00:03:16
Handling Form Submission (Reactive Forms)
-
Урок 242.
00:06:36
Adding Validators To Reactive Forms
-
Урок 243.
00:05:22
Building Custom Validators
-
Урок 244.
00:03:55
Creating & Using Async Validators
-
Урок 245.
00:08:39
Interacting with the Form Programmatically
-
Урок 246.
00:02:19
Exercise: Problem
-
Урок 247.
00:04:38
Exercise: Solution
-
Урок 248.
00:08:59
Connecting & Registering Inputs For A Complex Form
-
Урок 249.
00:05:30
Working with Nested Form Groups
-
Урок 250.
00:04:45
Working with Form Arrays
-
Урок 251.
00:03:32
Practice: Adding More Validation
-
Урок 252.
00:07:51
Creating Multi-Input Validators / Form Group Validators
-
Урок 253.
00:01:31
Module Summary
-
Урок 254.
00:01:58
Module Introduction
-
Урок 255.
00:02:36
What Is Routing?
-
Урок 256.
00:06:16
Enabling Routing & Adding a First Route
-
Урок 257.
00:03:35
Rendering Routes
-
Урок 258.
00:03:15
Registering Multiple Routes
-
Урок 259.
00:05:51
Adding Links The Right Way
-
Урок 260.
00:02:54
Styling Active Navigation Links
-
Урок 261.
00:07:24
Setting Up & Navigating To Dynamic Routes
-
Урок 262.
00:05:34
Extracting Dynamic Route Parameters via Inputs
-
Урок 263.
00:08:00
Extracting Dynamic Route Parameters via Observables
-
Урок 264.
00:05:31
Working with Nested Routes
-
Урок 265.
00:02:36
Route Links & Relative Links
-
Урок 266.
00:04:33
Accessing Parent Route Data From Inside Nested Routes
-
Урок 267.
00:02:15
Loading Data Based On Route Parameters In Child Routes
-
Урок 268.
00:06:38
Link Shortcuts & Programmatic Navigation
-
Урок 269.
00:01:47
Adding A "Not Found" Route
-
Урок 270.
00:05:10
Redirecting Users
-
Урок 271.
00:02:51
Splitting Route Definitions Across Multiple Files
-
Урок 272.
00:03:39
Activated Route vs Activated Route Snapshot
-
Урок 273.
00:05:36
Setting Query Parameters
-
Урок 274.
00:03:17
Extracting Query Parameters via Inputs
-
Урок 275.
00:03:23
Extracting Query Parameters via Observables
-
Урок 276.
00:03:38
Using Query Parameters For Data Manipulation
-
Урок 277.
00:05:07
Adding Static Data To Routes
-
Урок 278.
00:11:23
Resolving Route-related Dynamic Data
-
Урок 279.
00:02:47
Accessing Route Data In Components
-
Урок 280.
00:03:09
Controlling Route Resolver Execution
-
Урок 281.
00:04:15
Setting & Resolving Titles
-
Урок 282.
00:09:19
Introducing Route Guards
-
Урок 283.
00:04:57
Making Sense of The CanDeactivate Guard
-
Урок 284.
00:03:00
Improving The CanDeactivate Logic
-
Урок 285.
00:05:47
Reloading Pages via the Angular Router & Configuring Programmatic Navigation
-
Урок 286.
00:01:05
Module Introduction
-
Урок 287.
00:01:37
What Is Lazy Loading / Code Splitting?
-
Урок 288.
00:02:50
Introducing Route-based Lazy Loading
-
Урок 289.
00:08:15
Implementing Route-based Lazy Loading
-
Урок 290.
00:05:20
Lazy Loading Entire Route Groups
-
Урок 291.
00:03:59
Using Lazy Loading & Routing to Lazy-load Services
-
Урок 292.
00:03:10
Introducing Deferrable Views
-
Урок 293.
00:03:48
Defer Loading Until Viewport Visibility
-
Урок 294.
00:01:37
Deferrable Views: Using Other Triggers
-
Урок 295.
00:02:00
Prefetching Lazy-loaded Code
-
Урок 296.
00:02:07
Deferrable Views: Summary
-
Урок 297.
00:01:09
Module Introduction
-
Урок 298.
00:04:57
Preparing a Project For Deployment: Building It For Production
-
Урок 299.
00:03:43
Building SPAs: Pros & Cons
-
Урок 300.
00:07:55
SPAs: Deployment Example
-
Урок 301.
00:02:17
Using "ng add", "ng deploy" & Angular's Built-in Deployment Support
-
Урок 302.
00:03:40
Server-side Rendering (SSR) Introduction
-
Урок 303.
00:04:13
Setting Up SSR For An Angular App
-
Урок 304.
00:02:37
Building and Service an SSR App
-
Урок 305.
00:03:54
Authoring SSR-ready Code (Beware of Pitfalls!)
-
Урок 306.
00:03:38
SSR and Client-Server Mismatches
-
Урок 307.
00:02:56
Static Site Generation (SSG) Introduction
-
Урок 308.
00:05:35
Configuring & Using SSG
-
Урок 309.
00:00:55
Deployment Methods - A Summary
-
Урок 310.
00:01:49
Course Roundup
-
Урок 311.
00:01:16
Module Introduction
-
Урок 312.
00:06:33
What & Why?
-
Урок 313.
00:06:23
Installing & Using TypeScript
-
Урок 314.
00:03:56
Base Types & Primitives
-
Урок 315.
00:05:34
Array & Object Types
-
Урок 316.
00:02:48
Type Inference
-
Урок 317.
00:02:49
Working with Union Types
-
Урок 318.
00:02:43
Assigning Type Aliases
-
Урок 319.
00:05:13
Diving into Functions & Function Types
-
Урок 320.
00:07:21
Understanding Generics
-
Урок 321.
00:07:59
Classes & TypeScript
-
Урок 322.
00:05:37
Working with Interfaces
-
Урок 323.
00:02:30
Configuring the TypeScript Compiler
I am a back-end developer and want to add some front-end frameworks to my toolkit. Would you recommend Angular or React?
Also please share your favorite learning materials.
As for resources, Max is great (this course) + new docs + tinkering. Happy coding, mate!
I will start with this course as you advised.
I appreciate your time.