浅谈 low code

4,640 阅读4分钟

以下仅代表个人观点

前几天,在公众号看到ThoughtWorks的一篇将关于low code的文章-【low code 是行业毒瘤】,本人颇为赞同里面的一些意见,就发到了朋友圈,结果出乎我的意料,同事们更多的是对八叉的说法表示不赞同。

简单介绍下八叉在视频里的意见,首先看标题,low code 是行业毒瘤,当然我个人认为八叉的题目就取错了,整个视频其实是对 low code platform(低代码平台)的写看法,而不是low code。

八叉认为 low code 是行业毒瘤,没有任何未来,low code的目的是为了让不懂软件开发的人也能写代码,这就形成了一个矛盾,你的low code platform提供的能力和你对使用它的人员的素质要求。

八叉认为如果要百分百去解决一个领域内的问题,那么这个平台必须是图灵完备的,而能掌握图灵完备的必然是程序员。这是有一定道理的,我们可以这样认为,如果你的平台能解决这个领域内99%的问题,那就意味着你的这个平台是有一定自己的规定,指令,标准等等来实现一些灵活的能力,某种意义上,这就是一种新的编程语言了,而能熟练使用这个平台的也就是程序员了。

当然,八叉其实驳斥的是现在的low code平台对外宣称的,针对非专业人员可以达到程序员的自主度这点,这点我认为八叉说的是有道理的,以现有的技术,我们是无法实现一个完备的,又不需要多少学习成本或者专业知识的low code platform,上手简单的low code platform能解决的,其实开发也花不了多少时间能实现,low code platform不能解决的,最终还是要落回开发手上。

这里八叉还举了一个例子,历史上我们曾经尝试过的low code platform-SQL,为了让非技术人员能获取数据库的数据做的尝试,最终演变成了一个新的语言-SQL。

所以想达到100%的灵活和自主度,low code platform大概率最终会演变成一种编程语言,这就得不偿失了。

当然我们可以认为现阶段的所有low code platform都不是为了解决100%的问题的,同样当一个工具或者平台能解决某个领域下50%甚至更少的问题,我们就认为这个其实是很有价值的。

八叉认为,如果只是为了解决一部分问题并提供一定的定制化能力,那为什么不做成saas和一部分定制开关

关于八叉的一些论点,我本人其实大部分是赞同的,当然看了视频下大家的评论和朋友圈同时的意见,大多数人认为

low code platform并不一定是针对非程序员的,并且本身就是不追求图灵完备,不追求和开发的百分百对应。

首先我们看市面上的low code platform(比如国外的OutSystems、Mendix,国内的氚云、iVX等)大多数都是以可视化的方式去做应用的拼接,宣扬的是非IT人员也可快速搭建,这就意味着low code platform的定位是包含非IT人员的和IT人员的。

这就是一个尴尬的问题,作为程序员,我当然是希望low code platform能解决我们业务开发中的大多数领域场景问题,并将这部分工作量减少,并转嫁给非IT人员(比如产品,运营等),然而现实就是low code platform现在对于非专业人员的覆盖是不全面的,如果low code platform针对的是开发人员的,说句不好听的,我们费劲吧啦的去研究这个平台怎么使用,怎么拼接,有的还不一定满足需求,真的会比我们直接使用现成的组件库,工具进行开发回来的节省时间吗?如果花费的事件比开发更多,或者减少的工作量微乎其微的话,那整一个low code platform的价值在哪?

low code的本身含义就比较多,如果把low code作为目的,包含的就太广了,所有工具和库的最终目的都是为了low code,但是如果作为实现方式的话,low code平台是否能真正达到我们的目的,提升工作效率,这个就需要我们好好斟酌了。

我不反对low code,不过我对low code platform确实不看好。