低代码平台:我见过最贵的免费午餐,也是新的技术债

🔑 关键词:低代码平台,技术债,开发效率,平台锁定,业务逻辑

📖 摘要:从实际使用经历出发,聊低代码平台在中小团队和复杂业务中的真实表现。不吹不黑,它确实让一部分人飞起来了,但也让另一部分人掉进更深的坑里。

先说个事。去年我们组接了个内部审批系统改造,领导拍板用低代码平台,理由是外面买成品太贵,自己写又得排期。我本来也抱着“拖个表单就能跑”的心态去了,结果第一个月就把我干沉默了。平台自带的那套字段控件,连个简单的多级审批链都要写脚本去调,而且脚本调试起来比写代码还难受。后来我意识到,所谓低代码,更多是把前端的活外包给了平台,但业务逻辑的复杂度一点没少,反而被平台的抽象层扣了一层又一层。

图片

后来我跟几个同行聊,发现大家普遍有个错觉:觉得低代码能让不懂技术的人自己搭系统。但现实是,业务人员拖出来的东西根本不能用,最后还是得靠开发去补。而且低代码平台的学习曲线很奇怪——你懂技术吧,觉得它啰嗦;你不懂技术吧,它又一堆暗坑。最典型的是数据权限,我们有个业务员自己搭了个查询页面,结果条件里没写租户过滤,整个公司的数据全他妈暴露了。这能怪平台吗?不能,但平台也没阻止他。这就像给你一把电锯,说明书上写着“可以切木头”,结果有人拿去切手指,你说怪谁。

图片

再说说开发效率之间的对比。我拿同样一个模块做过实验:一个用传统Vue+Java写,一个用低代码平台拖。简单表单类需求,低代码确实赢麻了,基本是1比3的时间比。但一旦涉及十几个状态流转、动态字段、跟外部系统对账,低代码就变成了灾难。你想加个判断分支,得在可视化流程图里拉线,拉完还看不清逻辑,改一次要重新测试半天。传统代码虽然写起来费劲,但至少能全局搜索,能git blame,能code review。低代码平台呢?存多少版本得看它有没有那个功能,有时候不小心点了发布,连回滚的入口都找不到。

图片

最让我难受的是那些平台里被“封装好”的组件,就像盒装乐高,看起来什么都有,但你想拼个不按图纸来的东西就废了。有一次我需要个自定义弹窗,平台自带的弹窗组件死活不触发关闭事件,我查了两天文档,最后发现这组件有个隐藏的api名叫“destroy_modal_xxx”,还是v1版本,官网文档里就一行字,连参数说明都没有。那一刻我深刻理解了什么叫“低代码的尽头是读源码”。而且你还不能改它,改了下次升级就被覆盖了。

图片

说到底,低代码平台本质上是在卖一种“确定性”——告诉你拖一拖就能省时间。但软件工程的复杂度守恒定律从来没失灵过:你省在前端的拖拽时间,必定会在数据映射、权限校验、异常处理、上线运维这些地方加倍还回来。尤其是平台锁定,换平台的成本比你从Java迁移到Go还高,因为你的业务逻辑全部散落在那些可视化配置和脚本片段里,既不能自动化测试,也没法文档化。我见过一个公司用了六年低代码,业务跑得风生水起,结果平台商改版直接废弃了某套组件,他们整个CRM的报表全部失效,最后只能拿Excel顶着。

图片

所以我现在对低代码的态度很简单:它是个好工具,但别当战略。适合做原型、做一次性内部工具、做那些生命周期不超过一年的临时应用。可如果哪天真有人跟我说“我们要把核心交易系统用低代码重写”,我会直接站起来走人。不是偏见,是吃过亏。低代码平台其实还挺贵的,你以为省了外包费用,其实把成本转嫁给了后期维护的每个人。关键是,那些拖出来的模块,没有人会像写代码那样认真对待,也没有人能对它负责。我印象最深的一句同行吐槽是:“低代码让开发速度变快了,但让开发过程变黑了。”这句话我记到现在。

图片

🏷️ 标签: