Reactive Angular Course (with RxJs)
WEBRip | English | MP4 + Project Files | 1280 x 720 | AVC ~800 kbps | 30 fps
AAC | 128 Kbps | 44.1 KHz | 2 channels | Subs: English (.srt) | ~5.5 hours | 2.9 GB
Genre: eLearning Video / Development, Programming, RxJs
WEBRip | English | MP4 + Project Files | 1280 x 720 | AVC ~800 kbps | 30 fps
AAC | 128 Kbps | 44.1 KHz | 2 channels | Subs: English (.srt) | ~5.5 hours | 2.9 GB
Genre: eLearning Video / Development, Programming, RxJs
Build Angular Applications in Reactive style with plain RxJs - Patterns, Anti-Patterns, Lightweight State ManagementWhat 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 Nutshell
This 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 Overview
We 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 Contents
This course covers the following topics:
Review of an application written in imperative style
Refactoring into stateless reactive style, understanding the benefits
Smart vs Presentational Components
Stateless Observable Services
The shareReplay Operator
Stateless UI updates (without state management)
Introduction to RxJs Subjects and BehaviorSubject
Decoupled component communication using shared observable services
Using Observables to have components interact at different levels of the component tree
Error Handling and error messages in reactive style
Loading Indicators in reactive style
Improving user experience with lightweight RxJs stores
Optimistic UI updates
Managing User Authentication state with plain RxJs
Local vs Global Services
Master Detail with cached master table in reactive style
The Single Data Observable Pattern: Avoiding nested ng-component tags
Refactoring a reactive application to OnPush change detection
Conclusion and key takeaways
What 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.
Who this course is for:
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)
also You can find my other helpful Programming-posts
(if old file-links don't show activity, try copy-paste them to the address bar)
General
Complete name : 031 Angular Master Detail Implementation - The Master Table.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 53.7 MiB
Duration : 8 min 1 s
Overall bit rate : 937 kb/s
Writing application : Lavf58.12.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, RefFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 8 min 1 s
Bit rate : 800 kb/s
Nominal bit rate : 3 000 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.029
Stream size : 45.9 MiB (85%)
Writing library : x264 core 148
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=22 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=60 / keyint_min=6 / scenecut=0 / intra_refresh=0 / rc_lookahead=60 / rc=cbr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=3000 / vbv_bufsize=6000 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : mp4a-40-2
Duration : 8 min 1 s
Bit rate mode : Constant
Bit rate : 128 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 kHz
Frame rate : 43.066 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 7.34 MiB (14%)
Default : Yes
Alternate group : 1
Complete name : 031 Angular Master Detail Implementation - The Master Table.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 53.7 MiB
Duration : 8 min 1 s
Overall bit rate : 937 kb/s
Writing application : Lavf58.12.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, RefFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 8 min 1 s
Bit rate : 800 kb/s
Nominal bit rate : 3 000 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.029
Stream size : 45.9 MiB (85%)
Writing library : x264 core 148
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=22 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=60 / keyint_min=6 / scenecut=0 / intra_refresh=0 / rc_lookahead=60 / rc=cbr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=3000 / vbv_bufsize=6000 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : mp4a-40-2
Duration : 8 min 1 s
Bit rate mode : Constant
Bit rate : 128 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 kHz
Frame rate : 43.066 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 7.34 MiB (14%)
Default : Yes
Alternate group : 1
Screenshots
✅ Exclusive eLearning Videos ParRus-blog ← add to bookmarks
Feel free to contact me PM
when links are dead or want any repost
Feel free to contact me PM
when links are dead or want any repost