前端在考虑新技术,考虑新架构时,需要考虑的 list ,包括:统计类,技术侧和运营侧需要考虑的问题。

Checklist

  • 统计类
    • 页面大小
    • 页面性能
    • 资源加载 timeline
    • pv,uv,端类型及游览器或 app 版本统计
    • 接口错误率
    • 页面总的错误率
  • 运营活动页面下线设计,下线 302 循环跳转检测机制
  • 运营策略:页面 AB 测试,页面分流策略(根据用户标签分流)
  • 技术策略:页面灰度上线,指定测试人员白名单
  • 考虑页面回归验证方案,以及考虑回归方案的 case 覆盖率
  • 评估页面采用新技术后的影响面,通常分三方面:server,native,front-end
  • 页面错误后的降级容灾方案,以及接口的容灾兜底
  • 展示(view),逻辑(logic),数据(data)尽量抽象分离复用,mvc & mvvm
  • 页面远程调试特性,行为日志覆盖率
  • 技术运营分离,但有统一的对接口进行沟通协商交流
  • 页面的实验特性做开关设计
  • 页面架构或运行框架是否考虑了可插拔的 feature,并支持插件化扩展
  • 对于 native 端上的依赖版本判断并做降级方案
  • 页面资源是否做到了足够的复用,包括复用模块、数据等
  • 资源、数据是否做了预加载,以及预加载时机的选择
  • 安全风险控制,包括开源代码,运营文案(如默认勾选用户协议等)
    • 权限验证等
  • 数据统计之后的数据反哺,推动业务和技术侧升级改造

Q & A

  • 页面遇到 xxx is undefined ?但 chrome 上正常?

    不管是什么问题,先加一波 polyfill,https://polyfill.io/v2/docs/,引入:https://cdn.polyfill.io/v2/polyfill.min.js