低代码在做什么
第一性原理意味着你抛弃一切,直击真相本质,然后从那里开始推理。1
通过第一性原理思维方式去思考低代码,首先不管我们做什么方式进行编程,一定是为了获得一个满足我们需求的程序,低代码和传统方式的区别在于进一步降低了编程门槛,将编程变成了一种更直观更容易理解方式,并未改变编程的本质。使用低代码平台进行开发,和普通的写代码开发并未发生本质的区别,它的作用在于降低门槛,提高受众面积,提高开发效率。
那不难推理出,低代码是一种工具,和编程语言一样。那我们应该怎样去做一款低代码的产品呢?
这个问题可能没有具体答案,笔者之前的博客中也提到过,低代码不限于方式,也很难有明确的标准,但从第一性原理的思维方式可以推理出,我们去实现一款低代码产品最好的方式就是像去设计一款编程语言去实现它。这样或许不太容易理解,笔者会在后续的具体实现中进行阐述。
可视化低代码平台组成
可视化编辑器
可视化编辑器是由低代码平台方提供的一个程序编辑环境,如同你的idea、vscode或者processOn之类的工具,只是这个工具里可以不进行代码编写或者只进行少量代码编写,类似在processOn中只需要拖拽图形组件就能做出流程图,不过低代码平台可能更加复杂。
- processOn
- mendix
工具套件
在可视化低代码平台中往往会有各种简单编辑的组件,包括UI组件、逻辑组件、数据相关组件、API组件等等…
- UI组件
像一个按钮、一个文本框等等都是一个UI组件,在可视化低代码平台中只需要将你所需要的组件拖拽到你想要的位置就会到达你想要的效果,不用想写代码那样要对组件的位置进行定位啊、还有一系列布局的精心设计。 - 逻辑组件
和写代码中的逻辑运算类似,逻辑组件在低代码平台中也可以做成可视化的形式,就像设计流程图那样就可以进行逻辑上的处理。我们平时编写的很多代码也是if、else之类的来控制程序流程,在可视化低代码平台中只是表现的方式可能不同。
- 数据相关组件
我们编写的程序往往需要用到数据的增删改查啊,就像每个CRUD body/girl所做的一样,低代码平台的用户也逃离不了CRUD的魔爪,不过一般低代码平台的数据表数据库相关的服务往往使用更加简单。相信绝大部分开发人员都使用过诸如Navicat这样的工具,因为确实太方便了,就拿Navicat mysql客户端为例,用户只需要进行表格配置就可以完成表的创建,可视化的数据新增、编辑、筛选功能,这可比你写SQL快多了(巨佬除外)。
- API组件
在WEB开发中你可能离不开API,前后端交互很多需要后台的实现。在可视化低代码平台中,可以通过简单的配置就可以完成API的定义,再加上API使用的触发逻辑即可完成API的调用。这儿可能很多开发人员使用过一款叫postMan的软件,通过定义接口,定义报文的一些字段,入参就可以完成接口测试调用。
- 动效组件
现代程序中往往有很多动效的使用,就像PPT中用到的一些动画效果,像一些常见动效,渐入、渐变、淡出、弹出、飞入、百叶窗都是动效的形式,不过动效往往除了常见的之外很多都需要定制,我们很难在一个低代码平台中实现满足用户对全部动效的需求。
播放器
播放器往往是一款低代码平台设计的灵魂,因为用户在编辑器里做出来的东西可能还只是一个模型,如果把这个模型文件单独拿出来可能什么也无法实现。
播放器需要将用户编辑出来的模型播放出来,就相当于解析的过程,可能是播放器直接将模型动态的展示出来,也可以先将模型翻译成HTML这样的普遍的呈现方式,这样浏览器就可以运行翻译出来的文件。
播放器的实现方式并非是特定的,可以更具具体的设计方案来实现。
- Elon Musk explains “first principles” ↩︎