课程大纲:
第一天
1、教学场景简介
- 网上商城
2、架构与模块
- 贯通前后端的宏观架构
l 微服务
l BFF(GraphQL)
l 前端
- 如何规划子项目
l 业务无关库
l 业务相关库
l 多端应用
- 如何划分模块
l DDD 与模块规划
l 模块的分类
- 如何规划组件
l 路由组件与内容组件
l 智能组件与哑组件
- v13 中新的单模块组件
3、依赖注入 - DI
- 架构整洁之道
- DI 的概念
- 架构层面:整洁架构与DI
- 编码层面:DI与测试
- 哪些要素可以 DI,应用场景是什么
- 拆拆拆:利用 DI 拆分大型应用
4、路由
- 如何设计路由
l 路由优先的设计理念
l 如何设计 URL 模式
l 路由的设计原则
- 各个路由守卫及其应用场景
- 项目结构的典型演化过程
5、响应式表单
- 业务模型、表单模型、视图模型
- 表单的关注点分析
- 大型表单的拆分技巧
- 表单的复用
- ControlValueAccessor
- 验证器
- 构建类型安全的表单模型
l TypeScript 高级技巧
l 表单模型范例
第二天
1、RxJS
- 异步编程模式的演进
l 回调地狱
l Promise
l Observable
l await/async
- FRP
- RxJS 的思维模型
- 如何解读弹珠图
- Operators 详解
- 练习:Operator 组合技
2、内建安全机制
- XSS 与 CSRF:是什么?如何防范?
- Angular 的默认安全机制
- 豁免安全的内容与浏览器的“可信类型”特性
3、性能与原生
- OnPush 模式
l detectChanges 与 markForCheck 有什么区别?
l 如何让额外代码最少化
- CWV:核心性能指标
l 性能数字与体感性能
- Web Worker & Service Worker
- PWA
- SSR
- Prerender
- Fugu
- 微前端简介
4、组件库与原理图
- CDK
l 拖曳
l 表格
l 滚动加载
- ui-model
l 思想介绍
- Schematics
l 技术简介
l 应用场景
5、Ivy 进阶
- Ivy 的基本设计思想
- Ivy 的优势
- Ivy 对应用开发的影响
- Ivy 对库开发的影响