技术选型
题目
如何做技术选型?
选什么
制定项目技术方案,技术选型是非常重要的一个环节。
- 框架
- JS vs TS
误区
技术没有好坏之分,要看是否适合自己和团队成员
不要用自己的意识形态来评价技术的好坏,例如
- React 就是比 Vue 好,用 Vue 的都是 JS 小白
- Svelte 是新出的框架,我们要提前拥抱未来
- Vue3 发布了,我们赶紧用,体验新技术
- TS 比 JS 好,大家都说好
以上这些想法都是不对的,不能因此而做技术选型。
我很清晰的记得,去年有一个同事,在没有评审的情况下,私自用 Svelte 搭建了一个项目,结果被领导强烈拒绝。
这就好比很多人说:xxx 车就是好,这儿好,那儿好 —— 结果,看看大街上,没几个人买。
技术选型的依据
第一,选择社区已经成熟的,用户已经足够多的 —— 经受了大量用户的验证,出了问题也好找人讨论
- Vue React TS 都具备这个条件,而 Angular 至少在国内没有
- Vue3 Svelte 等新发布的,等等再用
第二,选择你公司已经有技术沉淀的,甚至已经有了很多第三方的可用组件,节省开发成本
第三,要考虑团队成员的学习成本,不要只考虑自己 —— 什么,你想带领大家一起学习?省省吧,用不着你去拯救别人
第四,考虑它的价值,能否抵消它的成本。例如
- 你们做的是一个大型系统,用 TS 确实能减少很多 bug ,那就用 —— 你要考虑 TS 的学习成本,以及维护成本(规避各种
any
) - 你们做的是一个小型系统,用 TS 提升也不太大,那就别用
总之,不要为了技术而技术,也不要只考虑自己而是全局考虑。要达到这个境界,你就需要去学习各种框架和技术,而不是只会某一个框架。
答案
- 考虑社区成熟度
- 考虑公司的技术积累
- 考虑团队成员的学习成本
- 考虑它的价值是否真的被利用