Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Reactive Angular Course (With Rxjs, Angular 15)

Posted By: ELK1nG
Reactive Angular Course (With Rxjs, Angular 15)

Reactive Angular Course (With Rxjs, Angular 15)
Last updated 2/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.48 GB | Duration: 5h 33m

Build Angular 15 Applications in Reactive style with plain RxJs - Patterns, Anti-Patterns, Lightweight State Management

What you'll learn

Code in Github repository with downloadable ZIP files per section

Learn Lightweight State Management techniques (RxJs only)

Understand the Core Principles of Reactive Programming in general

Know how to build Applications in Angular in Reactive Style using RxJs

Learn a Catalog of RxJs Application Design Patterns and Anti-Patterns

Requirements

Angular (beginner level)

Typescript

Some basics of RxJs

Description

This Course in a NutshellThis course is a catalog of commonly used design patterns (and some anti-patterns) that every Angular developer should know. The goal of the course is to teach you how to comfortably design and develop applications in Angular in Reactive style using just plain RxJs, and nothing more.This course comes with a running Github repository with the the finished code, as well as starting points for different sections of the course in case that you want to code along, which we recommend as its the best way to learn.This course answers the common question: how far can we go in Angular while using only plain RxJs and nothing more, without introducing any state management library?It turns out that the simple set of techniques taught in this course are very well suited for a wide range of applications, especially in-house built enterprise applications.In this course, you will learn exactly how to use RxJs to design and develop both the service and the view layers of your application, and you will understand both the advantages and the pitfalls of the reactive approach.Particularly when it comes to state management, it turns out that we can already go very far by leveraging only plain Angular and RxJs techniques, without using an additional state management library like for example NgRx.These simplified state management techniques are adequate and sufficient for a large range of applications,  and we believe that you should consider them first before thinking of adopting a full-blown state management solution.How far can you go with these techniques? That's what you will find out in this course.Course OverviewWe are going to start our course by taking a small Angular application that is written in imperative style, and we are going to talk about some of the problems of that approach. Then, we are going to refactor the application and explain step-by-step how to implement it in reactive style instead.We will explain in detail every RxJs operator that we come across in this course, the first time that we need each operator.We are going to start with a fully stateless solution first, but later we are going to improve the user experience by applying some simple RxJs-only state management techniques. We are going to use these patterns in order to handle some of the data of the application, as well as the user authentication profile.The key element needed to implement lightweight state management is RxJs behavior subjects so we will cover those in detail in the course. We will also provide step-by-step reactive style solutions for common UI functionality like loading indicators or error messages.Table of ContentsThis course covers the following topics:Review of an application written in imperative styleRefactoring into stateless reactive style, understanding the benefitsSmart vs Presentational ComponentsStateless Observable ServicesThe shareReplay OperatorStateless UI updates (without state management)Introduction to RxJs Subjects and BehaviorSubjectDecoupled component communication using shared observable servicesUsing Observables to have components interact at different levels of the component treeError Handling and error messages in reactive styleLoading Indicators in reactive styleImproving user experience with lightweight RxJs storesOptimistic UI updatesManaging User Authentication state with plain RxJsLocal vs Global ServicesMaster Detail with cached master table in reactive styleThe Single Data Observable Pattern: Avoiding nested ng-component tagsRefactoring a reactive application to OnPush change detectionConclusion and key takeawaysWhat Will You Learn In this Course?At the end of the course, you will feel comfortable designing and developing Angular applications in reactive style, by leveraging plain RxJs-only techniques. You will know how to apply simplified reactive state management techniques to different common use cases, and you will understand the advantages and the limitations of this approach.You will be familiar with a series of commonly needed reactive design patterns, and you will also be familiar with a series of common pitfalls to avoid.

Overview

Section 1: Introduction

Lecture 1 Reactive Angular Course - Helicopter View

Lecture 2 IMPORTANT: Recommended Software Versions

Lecture 3 Setting Up your Development Environment

Section 2: Stateless Observables Services

Lecture 4 Reviewing a component written in traditional Imperative Style

Lecture 5 Understanding potential problems of a program written in Imperative style

Lecture 6 Design Pattern - Stateless Observable-based Services

Lecture 7 Consuming Observable-based services using the Angular async Pipe

Lecture 8 Avoiding Angular duplicate HTTP requests with the RxJs shareReplay operator

Lecture 9 Angular view Layer Patterns - Smart vs Presentational Components

Lecture 10 Data Modification Example in Reactive Style (Stateless Application)

Section 3: Reactive Component Interaction

Lecture 11 Reactive Component Interaction - Section Introduction

Lecture 12 Decoupled component communication using a shared Service

Lecture 13 Loading Service Reactive API Design

Lecture 14 Reactive Component Interaction using Custom Observables and Behavior Subject

Lecture 15 Loading Indication Service - Reactive Implementation Finished

Lecture 16 Understanding the Angular Component providers property

Lecture 17 Error Handling and the Messages Component

Lecture 18 Error Handling with the catchError RxJs operator

Lecture 19 Messages Service - Implementation Finished and Demo

Lecture 20 Local Error Handling in an Angular Material Dialog

Lecture 21 Angular State Management - When is it Needed and Why?

Lecture 22 Initial Implementation of a Store Service

Lecture 23 Step-by-Step Implementation of an Angular Store Service

Lecture 24 Store Optimistic Data Modification Operations - API Design

Lecture 25 Store Optimistic Data Modifications - Step-By-Step Implementation

Section 4: Authentication State Management

Lecture 26 Authentication State Management - Section Introduction

Lecture 27 Authentication Store - Step-By-Step Implementation

Lecture 28 Adapting the UI according to the user Authentication status

Lecture 29 Authentication Store - Browser Refresh support with Local Storage

Section 5: Master-Detail UI Pattern (with built-in State Management)

Lecture 30 Master-Detail UI Pattern - Section Introduction

Lecture 31 Angular Master Detail Implementation - The Master Table

Lecture 32 Angular Master Detail Implementation - The Detail Element

Lecture 33 Angular Master Detail Implementation - Final Demo

Section 6: The Single Data Observable Pattern

Lecture 34 Consolidation Exercise - Implementing the Course Screen in Reactive Style

Lecture 35 Course Component Finished - Introduction to the Single Data Observable Pattern

Lecture 36 Reactive Angular - The Single Data Observable Pattern

Lecture 37 Single Data Observable Pattern - Default Data Values

Lecture 38 Refactoring an Angular Reactive Application to OnPush Change Detection

Section 7: Conclusions and Course Summary

Lecture 39 Bonus Lecture: Learn More About The Angular University And My YouTube Channel

Lecture 40 Conclusion & Key Takeaways

Web developers looking to learn how to build Angular Applications in Reactive Style,Angular Developers looking to learn lightweight state management techniques (using RxJs only)