为什么低代码很糟糕

分别从用户和程序员角度论证

我从毕业后就一直在一家做低代码的公司工作,做低代码是一件非常复杂且糟糕的事情。

# 用户视角

# 低代码比代码更难学习

大部分人都会有这样一种感觉,低代码比代码更难学习。

主要的原因是,代码往往是图灵完备的,虽然实现一个功能可能会非常麻烦,需要编写很多东西,但是你只是写更多的代码,所以诞生了程序员这个职业。

而低代码的用户往往不是专业性很强的程序员,低代码总是希望用最简单和轻松的方式去完成一件事情。它总是以一个简单的按钮、设置项、操作开始,然后背后不知道做了多少事情。低代码就是预设好很多已经被编排好的流程,然后以一种简单直观的方式暴露给用户。

这还是在基于你开放的低代码功能是逻辑自洽的基础上,因为实际上,你的流程可能是混乱不堪的,被各种混杂的需求所裹挟,不断增加新的流程。

在追求通用性的同时,还在追求易用性。 这就是低代码的癌症。

因为低代码的难学,用户不愿意付出学习成本去使用,导致了低代码平台的推广成本很高。

到最后,可能只有自己内部的人会使用,然后,用户可能就只能把项目外包给我们?

有趣的是,低代码平台被创造出来的最初目的可能并不是卖产品,而是为了更加高效地交付外包项目。低代码平台可能从设计之初就没有优先考虑用户的易用性,而是追求功能丰富,能满足各种用户需求,让交付外包项目更快。

# 无法满足所有需求

现实世界的需求千奇百怪,不要认为仅仅靠低代码就能完成它们。

有很多的需求都是“脏需求”,没有通用性,仅仅是单个项目的指标,它们不应该被设计到低代码软件中去。一个优秀的低代码平台,只应该做通用的需求,而不是所有需求,不够通用的需求,都应该被定制开发。

# 开发视角

# 复杂和臃肿的架构

我认为低代码和阿里曾经鼓吹的中台的概念非常像,可以说,低代码就是技术中台,但是技术中台不一定是低代码,中台也不止只有技术中台。所以,中台有的问题,低代码也有。

阿里因为集团非常庞大,子公司和团队非常多,每个子公司和团队都有自己的业务,其中涉及到很多重复的内容。所以,就希望有一个提供通用服务的中台,然后每个前台的团队就可以利用中台提供的服务,快速实现业务的搭建,而不用自己重复搞一遍。

这个想法并没有什么问题,看上去可以优化企业的效率。但是,在执行的过程中,遇到了一些问题。

随着接入的业务越来越多,阿里的中台变得越来越庞大,越来越复杂。很多东西,看上去是一样的,但是具体到更加细节的地方,又不太一样,需要特殊处理、特殊对待。

低代码和中台面对的问题类似,为了处理更多的特殊情况,让这个软件看上去更加“低代码”,不停地编写更加复杂的 if-else

这个问题导致了随着时间的推移,低代码平台的复杂度非常高,整体的架构非常臃肿,外加上迭代久了多多少少会有一些技术债,在后期推进新功能的时候非常困难。

# 总结

  • 从用户的角度来说,低代码很难学,而且还不一定能满足需求。
  • 从程序员的角度来说,低代码平台只要持续维护下去必然会导致软件变得极其复杂和臃肿。
使用 Hugo 构建
主题 StackJimmy 设计