先说说我怎么入坑的
去年公司要做一个内部的项目管理看板,需求简单,就几个表单加列表,加上审批流。当时团队就我和一个后端,时间紧,领导说别自己写了,用低代码平台吧。我选了某家比较火的低代码平台(名字不说了,免得说是黑),免费版能建20个表,支持工作流,还能生成二维码。一开始确实爽,拖拖拽拽,两天就把界面弄出来了,数据库表都不用自己建,自动生成API。但用到第二个月,问题开始冒出来。
第一个是权限模型。平台只有角色和字段级权限,但我们的需求是:同一张表,不同部门的人能看到不同行,而且这个规则要根据登录人的部门动态过滤。平台里试了好几种方案,最后只能用创建人字段 + 规则流,绕了一大圈,性能还差,每次打开列表要等3秒。要是自己在代码里写,一个where条件就完事。
第二个是版本管理。平台没有git,每次改完就自动保存,没有提交记录。有一次我调工作流,改错了一个条件,保存后没注意,第二天整个流程全乱了。想回滚?只能找平台客服要备份,来回折腾了半天,最后恢复到了昨天半夜的版本,中间我下午改的字段全丢了。这要是代码,git checkout一下就回来了。
调试和排查问题的地狱
低代码平台最大的谎言就是"不用写代码"。遇到复杂逻辑,你还是得写表达式,但这些东西是在网页的文本框里写的,没有IDE,没有断点,连个console.log都没有。报错就一句"流程执行失败",日志里也没有变量具体值。有一次我做一个库存扣减的校验,平台自带的聚合函数和我的预期不符,我花了三个小时把表达式拆开,一段段用临时字段验证,最后才发现是平台对null的处理和我理解的不一样。这种问题,写代码的话10分钟就定位了。
还有,平台之间的功能差异很大。我看网上说低代码支持事件驱动,结果这个平台的事件只能绑定在按钮上,字段值变化触发事件要开企业版,一个授权一年好几万。而且导出代码?做梦。所有逻辑都锁在平台里,连前端页面生成的HTML都是动态的,你想自己改一下样式,只能通过平台的主题编辑器,自由度极低。
什么时候低代码真香?
不是说低代码一无是处。我后来又用另一个轻量级的低代码工具(开源的那种),做了一些一次性的小工具,比如给运营部门做数据收集表,简单几步,马上上线,没用的时候直接删,完全不心疼。关键要选对场景:内部临时工具、原型验证、表单收集,这些特别适合低代码。但如果你是做一个要长期维护、有复杂权限、需要深度定制的系统,别碰低代码。我那个项目管理看板,后来实在忍不了,花了两个周末自己用React+Node重写了,同样的功能,代码量也就2000行,性能吊打平台,而且想加什么功能,一天就能做出来。
另外,供应商锁定这事真的得想清楚。低代码平台的数据虽然能导出Excel,但那些工作流逻辑、页面布局、关联关系,全都是黑盒。你一开始觉得省事,后面想迁移到另一个平台或者自研,基本等于重新做。我们公司隔壁组就是用微软那个Power Platform,做了一半发现许可费用太贵,想迁出来,结果数据模型都不一样,最后只能砍掉重做。
最后说点实在的
如果你问我低代码会不会取代程序员,我还是那句话:它取代的是重复的CRUD拖拽,不是开发思维。我见过不少运营同学用低代码做得挺开心,因为他们只处理简单数据,但一旦遇到异常情况,他们就卡住了。低代码平台降低的是你的起步门槛,但你要是真想把一个系统做稳,该懂的概念一个都不能少:数据库索引、事务、缓存、权限模型、幂等……这些在低代码里全都被包装掉了,表面上是帮你省事,实际上就是给你埋雷。
我用低代码那半年,最大的收获就是更坚定了自己写代码的决心。不是因为低代码不行,而是它适合的场景比你想象得窄得多。现在工具市场天天喊"人人都是开发者",但真到上线的时候,背锅的还得是那个懂代码的人。