什么是真正的低代码?
书接上文,今天接着谈一下什么是真正的低代码平台,或者说低代码平台应该具有的几个典型特征。
除了模型驱动和可视化开发这 2 个比较直观的对比方式外,还有一种情况比较容易被大家忽略,那就是表达式语言。
如果你使用过 word、excel、notion 等这种体量比较庞大的的软件,你应该见过其中的数学公式,比如说一些大神可以借助 excel 中的数学公式完成相对复杂的计算
像 OutSystems 和 iVX 都有类似的表达式编辑器,各种数学公式、JS 表达式、自定义函数接口等等,都是为了满足这种高级功能的需求。
毕竟只有这种表达式语言才能比较准确地传达开发者的想法,很多表单应用对此就完全是无能为力了。
在软件工程上,专业的低代码平台同样要能提供测试、debug 和版本控制等软件工程支持,即使是号称能减少 bug,但低代码平台只能消除语法层面的 bug,语义层面的 bug 一样没法避免。
这方面来讲,Outsystems 和 iVX 也都提供了比较完善的 debug 支持。
第三个要讲的就是开放集成。
真正复杂的应用是没法离开现在市面上提供的各种服务的,必须在不同的网站和程序中抓取数据,特别是对于企业软件来讲,相互的依赖和集成相当有必要。
因此平台还需要具备能够调用外部 API 或者开放 API 给别人的能力。
如果没有这两方面的功能,开发出来的应用相互之间都没法连通和集成,全是技术债。这点大家只要去看对应低代码平台的文档说明就会有了解,没搜到的,八成就是不支持了。
最后一种是脚本语言,简单谈一下。脚本语言就是专业的编程语言了,比如 Java、Javascript 这种,这也是低代码平台真正要干的活儿,把复杂性封装在组件之内,用户只需要进行逻辑层面的搭建,底层代码由平台生成,这也是低代码平台开发的一大难点。
确切的说,专业的低代码平台开发不会比一门编程语言的开发更简单,因为编程语言的难度跟抽象能力的强度是正相关的,抽象能力越高,编程语言也就越强、越简洁,也更难以设计。
从第一代的计算机语言、到汇编语言、高级语言,这种抽象程度都是在不断走高的,从以前的循环计算语法都没有,到现在各种丰富的函数库数据库,抽象事物的能力一直在提升。
这方面 iVX 甚至要比 Outsystems 强很多,能独立生成代码、独立部署,而且代码的可读性相当高,算是在我意料之外。
总结一下,专业低代码平台的核心重点就是这 6 点:模型驱动、可视化开发、表达式语言、软件工程、开放集成和脚本语言。能满足以上 4 项的我个人认为是相当成熟的低代码平台了,比如 iVX、Outsystems、Mendix,后面还有其他好用的低代码平台,我也会进一步给大家介绍,欢迎关注。
评论