技术选型
选型考虑
- 人力成本,上手成本(react 需要做较多手动优化),技术栈储备情况。小团队尽量统一技术栈
- 浏览器兼容性
- 社区、第三方库
- 跨端、跨平台的考虑
参考(https://m.freebuf.com/articles/neopoints/348432.html)
渲染模式
- SPA 对比 MPA,参考 https://set.sh/post/180804-spa-and-mpa
构建工具
- webpack,社区大+插件丰富
- rollup,适合构建类库+插件较丰富
- esbuild,基于 Go+构建速度快
- snowpack,基于 esbuild+构建速度快
- vite,基于 esbuild+构建速度快+使用 rollup 打包
- SWC,基于 Rust+替代 babel
状态管理
- Context 全局状态通信
- Redux,大型 web 项目+交互复杂+组件通信频繁
- Mobx,代码量少+响应式更新+性能更优
- Xstate,状态机
微前端架构
- iframe
- single-spa
- qiankun