低代码与工作流引擎略知(一)

       低代码这个概念这两年极火,低代码专指低代码应用开发平台(LCAP),是一个被业界广泛认可的概念,头部的分析机构如 Forrester 和 Gartner 都已经发布了多年低代码开发平台。国内低代码平台也发展得如火如荼,衍生出OutSystems 和很多国内所谓的低代码平台。低代码包含六个显著特征:模型驱动、可视化开发、表达式语言、软件工程、开放集成和脚本语言。

      

1)模型驱动

“模型驱动”可能是最明显的区分标志,因为刚好有一个也很流行的概念叫“表单驱动”。很多人搞不清楚这两个概念,但其实这两类产品挺好区分。

首先可以看用户手册,这样不用安装试用也能看出差别。使用模型驱动的平台比如 OutSystems、Mendix 的手册会有很大一章讲怎么做数据建模和处理,包括怎么定义实体、实体间关系、主键、唯一性、索引、数据怎么访问、筛选、分组、统计等等,还提供 SQL 或类似扩展。使用表单驱动的产品则往往手册第一章就是说明怎么定义各种表单,都是各种和界面相关的控件,比如单选多选下拉框、文本日期数字等。

其次可以看界面。下图是分别是模型驱动的 OutSystems 和某表单驱动产品的相关操作界面,大家看是不是很不一样。

(模型驱动,OutSystems)

(表单驱动)

(2)可视化开发

可视化开发不是拖拉拽做个界面(这只能叫可视化设计),而是要拖拉拽写处理逻辑。看 OutSystems 这类产品的文档,你会发现很多编程语言的基本构造都有,比如顺序 / 分支 / 循环 / continue / break、输入输出参数、局部变量 / 全局变量、struct 和 list、异常等。虽然这些东西都是拖拉拽完成,看上去没有密密麻麻的一行行代码来吓人,但也足以吓退业务人员。一下几张图都来自于 OutSystems,大家可以感受一下。

(左:逻辑开发工具箱,注意有 If、Switch、For Each 流程控制;右:一个比较简单的逻辑)

(怎么抛出和处理异常)

(3)表达式语言

表达式语言有些类似 Excel 里的公式,有表达式语言才可以做一些比较复杂的计算。下图是 OutSystems 的表达式编辑器,大家可以看到有各种操作符,还有很多内置函数,比如数学函数、字符串处理函数等。

OutSystems 这个例子看起来还比较简单,但表达式语言也可以很复杂。微软是搞语言的行家,下图是个微软 Power Fx 的例子,这个表达式是要提取一个句子最后一个单词的表达式,也挺复杂吧(说实话我看了好大一阵子才看懂)。

表达式语言也有更平易近人的设计,比如我们轻舟就是用类似 Scratch 的积木块设计。两种设计功能上是等价的,积木块设计更容易上手,Power Fx 这样的设计写复杂表达式更方便。

(4)软件工程

专业的低代码平台需要提供测试、debug、版本控制等软件工程支持。开发软件都会出 bug(低代码平台基本消除了语法层面的 bug,但对语义层面的 bug 一样无能为力),需求也总是会变。所以测试、debug、版本控制这些支持也是必不可少的。OutSystems 为什么做的最好,我觉得跟它完善的 debug 支持是分不开的。下图是 OutSystems 的 debug 界面,看起来和专业 IDE 有的一拼。

(5)开放集成

理论上,有了模型驱动等上述四大功能,开发一个不是太复杂的独立应用就够了,但典型的企业软件都是相互依赖和集成的,所以平台还需要具备能够调用外部 API 和开放 API 给别人的能力。平台如果没有这两方面的功能,开发出来的应用相互之间都没法连通和集成,全是技术债。我们看国外关于低代码的文章,经常会看到一个词叫 Shadow IT,说的就是这个问题。大家都胡乱的开发各种应用,还都集成不起来,将是一场大灾难。

(6)脚本语言

脚本语言就是用 JavaScripts、Python、Java 等做扩展,这些其实就是正儿八经的专业编程语言了,但低代码平台会把工程复杂性都封装好,让开发者不需要配置部署环境,随手就可以写代码,写完一键发布马上可以运行。

其实上述标准和 Gartner 是很一致的。Gartner 在魔力象限报告里说:

An LCAP is characterized by its use of model-driven or visual development paradigms supported by expression languages and possibly scripting…

里面模型驱动、可视化开发、表达式语言、脚本语言都提到了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值