我最近半年接触了非常多的甲方。我们大家都知道,有的时候甲乙双方的沟通非常困难,因为大家都有各自的顾虑和需求,信任关系也很难稳定的建立。即使进入合作阶段,也会有各种各样沟通不愉快的情况发生,在很多时候观念很难达成一致。 有的甲方甚至还会对技术方案提出明确需求。
但是我万万没有想到的一点是,居然有好几个甲方,在提需求时,会明确要求我们不允许使用 ant-design.
啊?当第一次听到这种需求的时候,我直接懵掉了... 甲方同志!!难道你不知道,我敢接你这个巨复杂的后台管理系统,最大的依仗,不就是 antd 吗? 你不让我用,那还玩个毛啊...
我各种摆事实,讲道理,说 antd 功能非常强大,能够极大的提高开发效率,但是甲方都坚决不退步,并且明确表示,如果你坚持在项目中使用 antd,那合作就没办法继续下去...
无独有偶
这并不是一个孤立的事情。我有一位在韩国工作的学生,由于团队内部其他成员对 Vue 的接受度不高,因此他们团队计划最近将技术栈从 Vue 全面转向 React。在做技术选型的时候,他向 Leader 推荐组件库可以使用 antd。
可是他的 Leader 却直接拒绝了这个选择。
他们希望我这个学生可以自己搞一套组件库出来给公司团队其他项目使用。这一下子就给我学生整懵逼了。搞不了啊... 所以他只能找到我,希望我帮他解决困境...
这到底是为什么
有一说一,antd 真的非常成功。他可以说是目前市面上,功能最完整,最全面的组件库,没有之一。
但是他做得这么好,做得这么成功,为啥还会遭人嫌弃呢?
原因很简单:antd 使用的人太多了,失去了独特性。
有一个甲方明确的跟我说了他的想法:你这个东西一拿出来,别人客户一看就知道你是用 antd 来做的,马上一些客户就会觉得我们团队的技术能力差点意思,客户会觉得原来你这个项目是用套模板的方式做出来的,没有什么技术含量,那就不应该找我要这么多钱,所以这个事情会让我们的谈判很难做
我的妈呀...
antd 太成功,成功到让不懂技术的圈外人都知道这个方案.
antd 太成功,成功到圈外人觉得这不就是套模板嘛,没有技术含量。于是你提供的这一套解决方案的技术含量就直线下降了。也就不愿意为此付出更多的金钱。
这可能也是受到了圈内人都技术言论影响,一定有不少前端开发给他们说 antd 比较简单。才形成了这样的一个顽固的固定思维。即使我明确的强调说,antd 支持自定义主题,甚至支持主题深度自定义,他们也不愿意为此妥协
我的一点感悟
很多时候,趋势的变化确实是悄无声息的。当我们明确感觉到的时候,可能这样的变化趋势已经在某个角落里积蓄了很长时间。
实际上就算没有直接对接过甲方,没有做过太多技术方案的选型,这样的趋势变化也有迹可循。最明显的一个就是近些年无头 UI 库的大火,这个概念最早在 2017 年出现,在 2023 年的时候才有了爆火的声势
Headless UI
是一种只提供逻辑和功能的组件思路,他不强依赖于特定的 css 样式。因此在这个开发思路下的组件库,开发者相对而言更容易去定制属于特定团队 UI 设计。
所以对于开发者而言,保持持续的学习态度是一个非常重要的品质。很多的时候,新的东西出来,大概率代表着要解决新的问题。包括 antd 本身,也在这十年的发展期间,保持着自己连续不断的进步。
当然,最好的,肯定是能随时保持自己具备手写组件库的能力。所以我其实一直都是这样在自我要求。能自己写的组件都自己写。比如我的付费小册 《React 19》 中,用到的所有组件都是自己手写的,没有依赖任何第三方工具库。
这也是我为啥会钟爱 tailwindcss 的一部分原因之一,基于 tw 在编写自己的组件库时会相对更快捷和方便。
然后是我现在其实是对 antd 有一点陌生感,上一次回过头再去用的时候,发现 antd 已经新增了那么多功能。一个简单的按钮组件都新增了许多变体与组合方式,又额外增加了一些主题变量,我们可以看到 antd 的文档的内容非常丰富。
我现在的感觉是 antd 的学习成本反而没那么低,对于新手朋友来说可能还不一定能把它用好。也不知道大家有没有这样的体会...
推荐阅读
掌握 React 19,推荐阅读我的 付费小册 React19
成为 React 高手,推荐阅读 React 哲学