技术选型
1. 功能实用性
-
团队里的人会用吗? 比如团队一直用Vue,那我肯定优先考虑Vue生态里的东西,比如换下ui框架,这种迁移成本就很小。非要上React,那得先考虑下,有没有时间培训,大家愿不愿意学,项目等不等得起。
-
这技术“靠谱”吗? 意思是社区生态怎么样。去GitHub、Gitee看看,Star多不多,issue有没有人回,最近还在更新吗?
-
和我们的业务搭不搭? 比如是做内部后台管理系统,Vite + Element/Antd 就比较合适。但如果要做一个C端产品,对性能和SEO要求很高,那可能就得考虑上Nuxt或Next.js了。
2. 确定需要选型的前端技术点
- 开发语言:JavaScript/TypeScript;
- MVC 或类 MVC 框架:React/Vue;
- 服务器通信:浏览器标准的fetch API,以及axios;
- 表单处理:Formik 框架、React Hook Form 框架;
- 错误处理:React 提供了错误边界(Error Boundaries)API,可以在组件树中实现类似try...catch 的功能;
- 前端路由:react-router/vue-router;
- 可复用组件库,如 AntD、Material-UI 等 ;
- 组件样式:CSS Module、CSS-in-JS 框架,如 emotion ;
- 打包编译工具:Webpack、Vite;
- 自动化测试框架:Jest、React Testing Library。
开发时间评估
- 需求下来,和负责这块开发的同事,一起把需求拆成特别细的小任务。比如“做一个用户列表页面”,就要拆成“列表页面UI开发”、“列表接口联调”等。
- 把所有小任务的时间加起来,得出一个总时间。然后,在这个总时间的基础上,再乘以一个1.2。