经过三年实践后,创略怎么看待低代码变革?

2021 年,数字化转型进一步推动了“低代码”行业的爆发。

疫情之后掀起的数字化转型热潮中,类似 HR、财务、销售等 SaaS 服务场景,有大量的重复性、流程性的操作,切切实实地成为了低代码落地的土壤。这种细分的低代码赛道也逐渐被资本市场所青睐,例如 Salesforce 旗下开发 CRM 系统的 Force.com,外界估值已经超过 200 亿美元。

创略科技是一家数据技术与 AI 公司,致力于差异化的为 B2C 企业提纲 AI 驱动的客户数据技术解决方案,助力企业优化与客户数据相关的场景,包括客户洞察,个性化营销,客户生命周期价值管理和客户体验提升。创略于早些年就已经开始将低代码应用到了自身的产品中。创略低代码实践到底效果如何?低代码是否会带来变革?为了解答以上问题,InfoQ 采访了创略科技研发副总监霍强Danny。

采访嘉宾:霍强(Danny),创略科技研发副总监。在创略科技负责 CDP 产品研发。先后在易传媒(阿里妈妈)负责移动端 DMP 和 DSP 研发,驴妈妈负责用户数据中心建设和数字化营销工具研发工作。

低代码定义

InfoQ:您是如何定义低代码的?低代码与具有二十年历史的图形化开发是一回事儿吗?

霍强Danny:低代码(Low-Code)的概念是在 2014 年被 Forrester Research 研究机构正式提出的,通常是指在 LCDP(Low-Code Development Platform)之上,能够通过可视化拖拽或编写少量代码的方法创建网页和移动应用程序,可快速实现某一功能。

低代码的强大之处在于,允许终端用户使用易于理解的可视化形式,开发出自己的应用,比如能够很方便的构建业务流程和数据模型等。它的显著特点是,更多人可以参与到应用开发上,而不再局限于技术人员。

图形化开发,可以追溯到上世纪八十年代,当时美国就有一些公司和实验室开始了可视化编程的研究,做出了 4GL(第四代编程语言),到后来衍生成 VPL(Visual Programming Language)可视化编程语言。二者不是完全的等同,只是 IT 技术发展中的不同阶段。

InfoQ:为什么市场上会又突然涌起无代码开发的热潮?低代码开发主要分为哪几类?

霍强Danny:低代码开发涌起热潮,主要受以下因素的影响:

  1. 市场对于应用开发的需求,远高于目前 IT 公司的产能;
  2. 如今流量红利时代已经过去,为了寻求新的增长点,很多企业开始了数字化转型之路,企业信息化已成为一种新趋势;
  3. 新技术的发展,为低代码提供了技术支持;
  4. 低代码市场蓬勃发展。Forrester 有报告显示:低代码开发平台的市场将从 2015 年的 17 亿美金增长到 2020 年的 155 亿美金,这一增长趋势在逐渐扩大。

关于低代码的分类:按应用的 B/S 结构来划分,低代码可以被划分为前端低代码和后台低代码。

InfoQ:什么样的场景是适合低代码的?它们有哪些共性的特征?

霍强Danny:数据 ETL,数据开发,数据建模,数据报表,数据库开发、Entity to Database Mapping, UI Development 等场景比较适合低代码开发。

适用低代码的场景具有三个方面的共同特征:

  1. 逻辑结构相对简单;
  2. 有规律可循,能够进行功能抽象化;
  3. 具有可复用性,有大量的重复性、流程性的操作。

InfoQ:前端是最适合低代码的场景吗?前端实现无代码是可能的吗?

霍强Danny:只能说前端有部分工作是比较适合低代码场景的,它主要包括一些静态页面,比如页面布局、表单等一些结构简单,且具有大量重复性结构的页面,对于这些场景是非常适合低代码开发的。

前端暂时是无法实现完全无代码的。目前前端各种框架技术不断成熟,随着前后端完全分离,在前端,主要关注前端页面展示和前端业务逻辑的处理等方面。对于部分简单的前端静态页面是完全可以实现无代码的,如方便运营人员使用的活动页的配置化生成、自动化搭建活动会场以及自动生成海报页等场景,基本可以做到无代码。但是对于前端所要处理的特定的业务流程需求、逻辑复杂的页面等场景,目前还没办法做到以完全无代码的形式来实现。

低代码具体实践

InfoQ:创略是什么时候开始实践低代码的?当时是什么样的一个背景?未使用低代码时,面临什么样的痛点?

霍强Danny:创略科技早在 2018 年就开始践行低代码。 在 2018 年前创略科技已为众多企业客户提供客户数据中台(CDP)解决方案,在为企业搭建 CDP 的过程中,常常会面临大量的业务系统对接,需要接入数量庞大的数据源,这就需要大量的 ETL 工程师介入。而对于数据报表、标签等需求又需要相关的技术研发人员。而通常这些工作中,有超过一半的工作量是重复性的。

在这样的背景下,我们开始探索并践行低代码。在不断的发展中,创略科技的 CDP 产品已经可以在没有 ETL 工程师角色的情况下,通过可视化的方式,对接各类型的业务数据,埋点数据等。接入到 CDP 中的数据,可以通过编写少量的代码(如 SQL)对数据进行分层、加工处理,能够快速的对数据进行建模,构建数据集市,以拖拉拽的方式创建报表和数据看板等;能够以可视化+SQL 的方式进行数据标签体系的构建、人群圈选以及人群画像透视分析等。

在未使用低代码之前,有大量重复性的工作需要 ETL 和开发工程师去完成,增加了大量的人力成本,交付周期更更长,对于客户项目的后期维护成本更高,并且对新需求的响应速度也相对较慢。而在践行低代码之后,这些痛点大多得到了解决或改善。

InfoQ:您的公司是如何实现低代码平台的开发引擎系统的(后台技术)?大概是什么技术?

霍强Danny:创略科技总结在 CDP 交付过程中的经验,找出其中具有规律化和重复性的需求,再对其进行功能抽象。目前主要实现了 ETL 引擎、数据建模引擎、标签人群引擎、报表引擎和营销引擎等:

  • ETL 引擎:可以实现可视化数据接入、数据加工处理、数据分层处理等;
  • 数据建模引擎:可以对接入 CDP 中的数据进行可视化维度建模;
  • 标签人群引擎:基于 ETL 引擎处理过的数据,快速进行标签化,且可以基于标签进行人群圈选;
  • 报表引擎:基于数据建模引擎的数据构建动态报表;
  • 营销引擎:基于标签人群引擎提供的人群数据进行自定义的活动构建,实现精细化营销触达;

使用到的技术有:Spark、ECharts、调度平台、Hive、流式计算框架、工作流引擎等。

InfoQ:低代码实践总共分为几个阶段?每个阶段的关键节点、关键动作?

霍强Danny:低代码的实践共分为八个阶段:

1. 需求调研阶段,关键节点是了解产品的需求和目标,其关键动作是需求调研;

2. 功能抽象阶段,关键节点是找出满足低代码的模块并进行抽象化,其关键动作是业务抽象化;

3. 产品设计阶段,关键节点是完成低代码模块产品设计,其关键动作是产品设计;

4. 架构设计阶段,关键节点是完成对应架构设计和技术选型,其关键动作是架构设计;

5. 可行性验证阶段,关键节点是完成可行性验证,其关键动作是可行性验证;

6. 开发实施阶段,关键节点是完成功能开发,其关键动作是开发实施;

7. 测试验证阶段,关键节点是完成测试和产品验收,其关键动作是测试验证;

8. 应用实战阶段,关键节点是在实际项目中进行应用和迭代,其关键动作是应用实战、迭代。

InfoQ:创略使用低代码后有哪些受益点?效果如何?

霍强Danny:在 CDP 项目交付过程中,极大程度上解放了 ETL 工程师的工作,使客户多数据源接入 CDP 变得高效便捷,且缩短了数据接入环节的周期。

对于接入的数据,能更便捷的进行数据处理和分层,能够基于可视化的界面,加上一定的 SQL 片段完成整个数据处理和上下游任务依赖,能很好的进行可视化数据建模及拖拉拽完成报表构建,并可视化组装数据看板;能够以可视化的形式进行标签体系构建、人群圈选、人群特征画像透视等功能,在没有数据开发工程师的情况下,也可以完成从数据接入,到数据建模,再到数据可视化的整个分析链路的完整流程,也可以完成从数据接入,到标签体系构建,到人群圈选和人群画像,再到自动化营销活动构建的整个精准营销链路的实现。

总之,在产品后续项目的交付过程中,节约了人力成本并缩短了交付周期。

InfoQ:如何判断哪些功能适合整合成低代码平台上的一个模块?模块之间的边界是怎么定义的?

霍强 Danny:要判断是否适合整合低代码开发平台上的模块,首先要确定是否具有逻辑结构相对简单、有大量重复性的操作、可复用性高、有规可循、能够进行业务抽象等特点。如果满足以上要素,则可能比较适合整合到低代码平台中的一个模块。

模块之间可以按照抽象层次划分和按照功能划分,顶层抽象一般作为公共层,可供下层引用。而下层可按照不同的业务来划分边界。

InfoQ:根据您的经验,低代码平台实践过程中最关键的是什么?什么样的低代码平台才是完美的平台,达到这个程度您认为要花什么样的力气?

霍强Danny:低代码实践过程中,最关键的是划分出适合低代码的功能模块,以及业务抽象的能力。

“低代码平台完美”本身就是一个悖论,低代码平台其实是一种软件开发方式,它适用于逻辑简单、可复用性高的应用场景,通过低代码平台能够在一定程度上降低软件开发门槛,提升开发效率。首先需要对低代码平台有个清晰的定位,明确低代码平台的边界范围。比如前端静态页生成的低代码平台、数据库开发的低代码平台、代码生成的低代码平台、数据建模的低代码开发平台、报表生成的低代码开发平台等。它们都是针对于某一具体的功场景或者是某几个功能场景的组合,这个平台也可以融合以上的多个功能模块。

要实现这样一个平台,我们要足够了解各模块的业务需求和功能边界,并且能够对其进行高度抽象化,对于研发出来的低代码平台还需要不断的实践验证,在此过程中进行循环往复的迭代和完善。

InfoQ:低代码平台的普及对于前端开发者意味着什么?对于整个前端领域的发展会带来什么?

霍强Danny:低代码平台的普及,意味着开发工程师可以从大量简单重复性的前端页面开发工作中解放出来,把更多的精力放到前端业务代码的编写中去。

低代码平台的普及可以降低前端开发的门槛和效率。可以有更多的人参与到前端的开发过程中,利用低代码开发平台就能搭建一套高效的标准化、流程化的前端产品。面对部分多变的前端功能,可以通过前端低代码开发平台,任意组合构建更多样化的页面,并能实现所见既所得的效果。不用再经历传统的从界面设计到前端开发,再到测试发布等一系列复杂的流程。

InfoQ:有人说:“低代码会掀起新革命”,您是怎么看的?

霍强Danny:从 2014 年低代码开发平台初次提出至今,我们看到已有越来越多的伙伴加入到低代码平台的阵营中,有传统的软件大佬,也有新诞生的后起之秀,低代码开发平台正在被越来越多的人所了解和接受。

低代码开发平台的出现,是一种软件开发方式的变革,也是软件行业发展长河中的一个新的阶段,就像 3GL(第三代编程语言)、4GL(第四代编程语言)、VPL(Visual Programming Language)。每一新阶段的诞生,都是经历了长久发展过程的积淀和矛盾演化,前一阶段的出现为后一阶段的诞生奠定了基础,新阶段的出现可以在一定时间内缓解前一阶段的矛盾。这个发展和矛盾演化的过程从某种意义上讲,它本身就是一种革命。