技术选型争论通常死于一句话:“这个更先进。“先进不是选型标准,代价可逆性才是。我的决策清单按优先级排列如下。
先问约束
- 团队现有人会吗?学习曲线要多久?
- 出问题的时候,半夜能找到资料/社区/源码自救吗?
- 它失败的最坏情况是什么?迁移走的成本高不高?
再看匹配
- 它擅长的场景,和我们 80% 的日常场景重合吗?
- 性能数字是在谁的 benchmark 上跑出来的?
- 它的“坑”在社区里是已知的还是待发现的?
最后才看先进性
新技术的第一批用户,本质上是在替整个社区做测试。除非它解决的问题正在真实地烧你的钱,否则让别人先踩一年。
一句话总结:选型不是选最好的,是选输得起的。 能随时换掉的技术,才是好技术。