c 端
性能优化
- 图片 -- 懒加载、CDN、webp
- 接口 -- 首屏
- ssr -- nossr\流式SSR
- 宿主特性--微信、客户端
- 代码 --
- SEO 优化
转化路径优化
- 不同宿主 获取手机号方法
- help
- 一推三
B端
-
稳定性
- 安全 csrf
- 单token
- 双重cookie验证
- 监控 错误上报 、 onerror 、js error 接口error 、白屏 eslint
- 安全 csrf
-
可维护性、可读性
-
系统迁移
- monorepo\iframe
- 登录、sso
-
oncall机器人
- 维护文档、链接 拦截oncall 60% -->30%
-
-
需求迭代、人力分配
- 需求评审、优先级分配
- 人力分配-需求拆分
- 技术文档-技术支持
- 人力培养、能力提升
- 单周汇报。给目标、看结果
- 边界感 -- 讲东西但不是替他写代码,要讲明白
- 文档产出、使用文档
-
低码
-
零码
- -- 每个editor 都有一个function API 可以用以监控它的改变,修改其他editor的值
- 将内容塞入props中获取
- 可二次开发、代码没有混淆-抽奖、表单等等
-
低码
- 模块
- 需要考虑好扩展性、代码层面
- 先写一个布局组件、再写内部的组件、所有的交互都是可预测 或者说留好的插槽
- 代码会混淆、导出一个 JSON 串 通过提供的API 解析scheme成组件
- 模块
-
-
微前端
-
iframe 缺点
- 增大内存和计算资源
- 自带样式、环境隔离机制沙盒
- 加载失败,主应用不容易感知
- 无法共用基础能力
- 通信比较繁琐、限制比较多
-
spa
- 沙箱
- 路由托管
- 子应用通信
- 公共依赖、公共组件、公共方法
-
优点
- 多个项目放在同一个主项目下维护
- 单独部署、发布
- 共用能力
- 便于维护
- 按需加载,切换路由时才会加载对应组件
- 预加载、首次进来加载首页、其他子项目预加载
-
沙箱
- 收集、隔离、清除副作用包括:样式、网络请求、定时器、全局事件、全局变量、缓存
- 静态副作用、动态副作用
- 静态-- HTML中的标签,style、link等等
- 动态-- 通过JS处理的副作用动态创建style\全局变量、动态移除元素、网络请求
-
沙箱实现
-
快照沙箱
- 快照保存当前执行环境
- 进入-时
- 保存上一个环境的window
- 更新当前window 为自己这个沙箱的内容
- 离开时
- 保存此次修改的内容,记录当前的window快照
- 恢复window为之前进来时保存的
- 进入-时
- 快照保存当前执行环境
-
样式隔离
- 进入子项目 动态添加style
- 离开子项目时 动态移除style
-
webpack
-