Урок 1.00:03:51
Reactive Patterns Angular Architecture Course Helicopter View
Урок 2.00:04:58
Setting Up Your Environment - Node, Npm & Git, Which IDE to Choose ?
Урок 3.00:03:31
How to Get the Most Out of the Questions and Answers Section ?
Урок 4.00:03:45
Testing Our Tools Installation - Installing The Course Code
Урок 5.00:06:41
The Yarn Package Manager - Why Should We Use It ?
Урок 6.00:03:44
Scaffolding an Application Using the Angular CLI
Урок 7.00:05:07
Setting Up A Small Application For Learning Reactive Patterns
Урок 8.00:02:18
Observable Pattern Section Introduction
Урок 9.00:06:22
What Reactive Properties do Browser Events Have ?
Урок 10.00:05:19
Browsers Events and Reactive Programming - Another Important Similarity
Урок 11.00:07:27
Custom Application Events, the Observer Pattern - How Are They Related ?
Урок 12.00:07:55
Building An Application Based on a Custom Event Bus
Урок 13.00:07:22
Implementing a Global Event Bus From Scratch
Урок 14.00:05:57
Finishing the Implementation of a Global Event Bus - Its That Simple
Урок 15.00:09:29
Using The Global Event Bus To Broadcast Application Data
Урок 16.00:08:27
Improve Global Event Bus - Add Support To Different Types of Application Events
Урок 17.00:07:18
An Application Implemented in Non Reactive Style - What Does It Look Like ?
Урок 18.00:06:52
Adding Features to An Event Bus Application - Complexity Breakpoint Reached ?
Урок 19.00:05:40
Application Starts Not To Scale In Complexity - Who Owns Which Data ?
Урок 20.00:09:07
Only One More Feature - Learn Why The Application is no Longer Maintainable
Урок 21.00:05:55
Introducing the Observable Pattern
Урок 22.00:07:12
Building Our Program Around Observable Data Streams
Урок 23.00:02:36
A First Benefit of Building Asynchronous Applications in Reactive Style
Урок 24.00:05:34
Starting To Tackle A Second Architectural Issue
Урок 25.00:05:21
Implementing Our First Observable - An Unexpected Issue Occurs
Урок 26.00:03:31
Fixing Our Observable Implementation, Introducing a New Pattern
Урок 27.00:05:06
Is The Centralized Store a Reactive Pattern ?
Урок 28.00:03:31
Implementing Add Lesson - How To Ensure Encapsulation of Store Data
Урок 29.00:06:18
Refactoring Toggle And Delete Lesson - Avoiding Data Mutation On The View Layer
Урок 30.00:06:10
Application Working - Review Of The Benefits of Using a Reactive Approach
Урок 31.00:02:51
The Store And The Observable Patterns - How Are They Related ?
Урок 32.00:06:39
Introducing The RxJs Library - A Simple Explanation
Урок 33.00:03:57
Refactoring Our Application To Use RxJs
Урок 34.00:06:31
Introducing BehaviorSubject - When To Use It ?
Урок 35.00:04:59
Observable Pattern Conclusion And Introduction To Reactive Patterns Section
Урок 36.00:05:35
Switch Branches - A Running Application With a Firebase Backend
Урок 37.00:03:53
See Firebase Hot Observables In Action - Review Of Router Configuration
Урок 38.00:09:14
An Application Written in Imperative Style - What Does It Look Like ?
Урок 39.00:07:12
Learn An RxJs Anti-Pattern While Reviewing the Imperative-Style Application
Урок 40.00:05:03
Introducing The Stateless Observable Service Pattern
Урок 41.00:07:11
Designing And implementing The API of a Stateless Observable Service
Урок 42.00:04:46
Separating The View and The Service Layer With An Observable-based API
Урок 43.00:05:14
Service Layer API Design - Short-Lived or Long-Lived Observables ?
Урок 44.00:09:02
Refactoring a Component From Imperative To Reactive Style
Урок 45.00:05:31
Splitting Mixed Responsibility Component Into Smart + Presentational Components
Урок 46.00:04:35
Smart vs Presentational Components - What Are the Different Responsibilities ?
Урок 47.00:06:34
Observable Data Services - Introducing a New Refactoring Starting Point
Урок 48.00:02:47
Learn What Use Cases And Problems We Will Be Covering In This Section
Урок 49.00:09:15
Writing Our First Observable Data Services - API Design
Урок 50.00:07:18
Implementing The Login Functionality Using The User Observable Data Service
Урок 51.00:05:06
Implementing The User Service - Notice The Similarities
Урок 52.00:06:54
Redefining The API Of The User Observable Data Service
Урок 53.00:03:54
Observable Data Services - Conclusion and What's Next ?
Урок 54.00:06:44
Avoiding the RxJs Nested Subscribe Anti-Pattern
Урок 55.00:05:59
Identifying a Common Design Problem
Урок 56.00:04:59
Fixing the Event Bubbling Design Issue
Урок 57.00:05:35
Making Deeply Nested Smart Components Work With OnPush Change Detection
Урок 58.00:04:56
Switching Branches - Introducing a New HTTP Backend
Урок 59.00:07:48
Implementing the Lessons Pager Service - How to Design a Pagination Service
Урок 60.00:07:04
Implementing a Pager Service - Loading Data From The Backend
Урок 61.00:05:01
Finishing The Implementation Of The Data Pager Service - Whats Next ?
Урок 62.00:07:46
The Local Service Design Pattern - Leveraging the Angular DI System
Урок 63.00:03:05
Switching Branches - The Master Detail Design Pattern With Cached Master Table
Урок 64.00:04:43
Master Detail Implementation - Implementing The Master Part
Урок 65.00:07:15
The Master Detail Pattern - Implementing The Detail Part
Урок 66.00:04:08
Master Detail With Cached Master Table Conclusion & How To Avoid Memory Leaks
Урок 67.00:04:40
Error Handling In Reactive Applications - Avoid This Pitfall While Using Subject
Урок 68.00:05:09
26 Implementing Error Handling While Using Observable Data Services
Урок 69.00:05:32
Implementing an Error Handling System - The Messages Service
Урок 70.00:05:37
Implementing an Error Handling System - The Messages Component
Урок 71.00:05:03
Local Services And Error Handling - What's Next ?
Урок 72.00:03:58
Switch Branches - Router Data Pre-Fetching And Loading Indicator
Урок 73.00:04:24
Implementing a Router Data Resolver - Introducing Typescript Tuple Types
Урок 74.00:05:33
Data Resolver Implementation - Advanced Use Of The RxJs switchMap Operator
Урок 75.00:04:02
Introducing A New Type Of Component - Container Components
Урок 76.00:07:13
Implementing A Router Loading Indicator
Урок 77.00:03:43
Switching Branches - Using Reactive Forms To Pre-Save a Form Draft
Урок 78.00:08:31
Reactive Forms - Draft Data Saving Implementation
Урок 79.00:02:18
Other Courses
Урок 80.00:05:22
Conclusion and Course Summary