这篇文章从企业视角入手,讲诉了为什么需要定制低代码平台,以及如何通过阿里开源的项目「低代码引擎」和阿里低代码商业产品 「UIPaaS」 降低企业定制低代码平台的成本。阅读这篇文章,你可以了解到企业为什么需要定制低代码平台,低代码引擎是什么,UIPaaS 是什么,UIPaaS 如何服务于中大型企业的,以及 UIPaaS 如何去解决一些低代码领域下的问题的。
阿里低代码引擎在阿里内部孵化了 7 年后,于 2022.03 月开源,截止到 2023.08 月,收获了 12k starts。阿里以低代码引擎作为基石,凭借其强大的扩展机制和生态体系,探索了大量低代码领域的解决方案,并在此基础孵化了阿里低代码商业化产品 UIPaaS,释放企业内部对低代码平台的创造力。截止到 2023.08 UIPaaS 低代码平台孵化器,已经服务了 60 多个阿里内部的部门,孵化了 120 多个低代码平台,此外还服务外部一些知名的证劵公司和国企。
这篇文章分享的内容大多数来自于 2023 云栖大会分享的《阿里开源低代码引擎及商业解决方案》。此外我也会补充一些在云栖大会中没来得及提及的观点或者内容。为了大家阅读更方便,文章也重新整理了一下,增加了一些内容也删除了一些内容,对云栖大会原分享内容感兴趣的也可以去看回放。
文章会介绍阿里巴巴的一款开源项目低代码引擎,以及基于低代码引擎孵化出来了一款低代码商业产品 UIPaaS,它作为低代码平台孵化器,可以帮助大家快速孵化出一款定制化的低代码平台。后续的介绍主要分为三个部分:
  1. 介绍低代码和低代码平台相关的概念;
  2. 介绍低代码引擎是什么;
  3. 介绍 UIPaaS 是什么,UIPaaS 如何服务于中大型企业的,以及 UIPaaS 在低代码领域中的一些探索和对应的解决方案。

了解低代码

在进入主题之前,我们先来了解一下,什么是低代码。
通俗的解释:低代码是一种通过显著少写代码而完成目标任务的软件。
维基百科上的解释:低代码开发平台(LCDP)是一种软件,它通过给程序员提供一个开发环境,让程序员可以通过图形界面、配置化的方式来创建应用软件,而不是传统的手写代码的方式。
低代码的关键在于少写代码,少写代码的方式其实很多,但是大多数的低代码平台都是通过可视化、配置化的方式来实现少写代码。我们后续要探讨的也是围绕通过可视化、配置化来实现的低代码平台。
低代码的价值大家应该也都清楚,否则现在市面上低代码平台就不会那么多了。简单来说,低代码可以帮助企业降本提效。
虽然说低代码平台可以帮助企业降本提效,但是不是随便一款低代码平台就可以降本提效的。比如早期的 Dreamweaver,它的可视化搭建能力并没有被市场买单。

通用型低代码平台

现在低代码平台越来越多,下图是部分低代码厂商(来源于海比研究院《2022 中国低代码/无代码 市场研究及选型评估报告》)。
这些低代码厂商,有的服务于垂直领域,比如新零售、医疗、生产制造、能源、 教育、酒店等等。有的服务于特定人群,比如专业开发者、IT 团队、设计团队、业务人员等等。我们把这些低代码平台称为通用型低代码平台。市面上的商业化低代码平台,基本上都属于通用型的低代码平台,由于他们都需要服务于多个公司、因此他们都需要考虑单个领域或者多个领域之间通用性的特点,以此为原则来打造低代码平台。

定制型低代码平台

那定制型低代码平台指的是什么呢?指的是那些根据企业内部特点、内部场景、内部痛点打造出来的低代码平台。定制型低代码平台有很强的特点,比如说:
  1. 集成大量企业内部的产品,它可以集成大量企业内部的产品,包括登陆、账号体系,因此大多数都不会对外开放。
  2. 针对不同的场景/用户人群,定制低代码平台的能力,它会针对特定业务场景、用户人群提供定制化的能力,有专属的布局、特定的操作方式,这样可以更好的服务于业务,也会让让低代码平台的用户更容易接纳它。
  3. 企业需要多个低代码平台,不同的业务场景、不同的用户人群背景下,企业内部需要多个定制化的低代码平台
定制型的低代码平台更灵活,对于企业来说,使用定制型的低代码平台给企业带来的好处更多,但是定制型的低代码平台大多数都需要企业自研,企业如何建设定制型的低代码平台成为了新的难题。
我们先来看一下,一个定制化的低代码平台,需要哪些能力。

低代码平台的可视化设计能力

低代码平台通过可视化操作的方式来开发软件的,它通过可视化设计能力代替了传统的写代码的操作,因此可视化能力很关键,它关系我们定制的低代码平台是不是能用、是不是好用。
可视化设计能力包含的内容很多,就低代码可视化的环节来说:
  1. 它需要解析物料,解析完物料之后,我们才能通过可视化的方式使用物料
  2. 它需要拖拽能力
  3. 它需要物料配置能力
  4. 它需要画布,实时展示软件的效果
  5. 它需要预览能力
  6. ......
这里的每一个环节对技术的要求都很高,比如说,拖拽能力需要有实时反馈、需要体验好、无延迟等等;预览需要高性能,它关系到可视化设计出来的应用,放到终端上的效果,这里又有大量的性能问题需要解决。可视化设计能力是低代码平台能力中实现难度是最大的部分,也是很多低代码平台一直在不断打磨优化的部分。

低代码平台的基本能力 - 建设可用的低代码平台

低代码平台除了可视化能力,还有大量的基本能力。
  1. 应用管理能力,我们需要去管理开发的应用、每一个应用里面又涉及到依赖、页面、组件、导航等等,每一个能力也需要对应的管理能力。
  2. 低代码相关的基本能力,我们还需要集成低代码相关的基本能力,比如打包构建能力、低代码发布能力、低代码回滚能力等等。
  3. 企业内部的能力,我们还需要集成企业的能力,比如说登陆能力、账号体系、权限管理、国际化等等。
具备低代码平台的基本能力,低代码平台就达到了可用的状态。

低代码平台的优秀能力 - 建设优秀的低代码平台

对于一个企业来说,定制一个可用的低代码平台,就已经意味着大量的人力投入,既然是定制型的低代码平台,也就意味它只适用于特定的场景和特定的人群。如果说它可以服务于公司的大多数业务场景和用户人群,它实际上又是另一种意义的通用型低代码平台了,它就很难再考虑单一的业务和用户人群了,慢慢地,对于其他业务或者用户人群中,又回到了需要定制一个新的低代码平台的难题。
这时候对于企业来说,有几种选择:
  1. 定制一个新的低代码平台。成本很高,随着定制的低代码平台越来越多,建设的人力和后续维护的人力都越来越高。
  2. 不再定制新的低代码平台。很难进一步帮助更多的业务场景和用户。
  3. 基于已有的低代码平台进行扩展,定制出新的低代码平台。这种方式对该团队的能力要求非常高,比建设一个低代码平台要难很多。需要考虑到不同的用户场景、不同的用户人群,在这个过程中,还会遇到很多低代码领域还未解决的难题,都需要一一去解决。
不管哪种选择,对于企业来说都是门槛高、投入高、周期长的方式。根据阿里内部的实践经验,企业建设一款可用的轻量级低代码平台需要至少 20 人年。而建设一款商业化的低代码平台,至少需要 120 人年。
我们提供了三种方式,帮助企业更好地去定制低代码平台。
  1. 低代码引擎,具备强大扩展能力的低代码设计器研发框架,建设低代码平台的可视化设计能力;
  2. 阿里低代码商业产品 UIPaaS,作为低代码平台孵化器,建设低代码平台的基本能力;
  3. UIPaaS 丰富的解决方案,可插拔的解决方案,解决低代码平台在不同场景、不同用户人群下遇到的难题,解决低代码领域下的难题。

阿里开源项目 低代码引擎

低代码引擎,它是为低代码平台开发者提供的,具备强大扩展能力的低代码设计器研发框架。
  1. 低代码平台开发者,它适用的人群是低代码平台开发者,有一定研发能力的开发者才能使用它;
  2. 强大的扩展能力,它具备强大的扩展能力,有了这些扩展能力,低代码平台的开发者就可以基于它,快速定制一款新的设计器,比如中后台场景下的设计器、小程序场景下的设计器、图表设计器等等,它们都可以通过低代码引擎定制出来的;
  3. 低代码设计器的研发框架,它是一款低代码设计器的研发框架,它只包含了低代码平台中设计器部分的能力,没有包含低代码平台所需的所有能力。
我们简单看一下低代码引擎的架构:
  1. 低代码协议规范,底层是低代码相关的协议,它有助于推动低代码平台的规范化,从去年开始,我们就和阿里云智能、以及信通院(中国信息通信研究院),开展了低代码互联互通标准体系的建设,立项了《低代码开发互联技术要求》的标准,为低代码应用的互联互通奠定了技术基础。
  2. 低代码引擎内核,低代码引擎根据低代码协议,实现了低代码平台可视化部分的能力,包括物料解析、可视化编排、运行时渲染和出码渲染。为了服务大量的低代码平台,我们提供了大量的扩展区域和扩展点,让低代码平台的开发者,可以定制出专属的低代码设计器。
  3. 低代码引擎生态,低代码平台的开发者,可以基于低代码引擎的扩展能力,开发出低代码相关的物料,低代码平台所需的插件。这些插件和物料在低代码引擎孵化出来的低代码平台之间是互通的,我们也把他们称为低代码引擎生态。
低代码引擎通过该架构,可以服务于大量的低代码平台,比如阿里商业低代码平台钉钉宜搭,比如低代码引擎团队对外提供的低代码平台 Lab、造物等。
让我们通过几个示例,详细了解一下低代码引擎的能力。左边的图,是一个典型的低代码设计器,对于一个低代码平台来说,都是通过类似的低代码设计器,才能用可视化的方式开发我们的软件。
就像不同的用户群体擅长的软件不同,为了让不同的角色在不同的场景下,都能很好的可视化设计我们的软件,低代码设计器的差异化很重要。我们需要根据不同的角色和不同的场景,设计低代码设计器的布局、操作流程、操作细节等等。为了达到这个目标,我们提供了大量的扩展区域和扩展能力,让低代码平台的开发者,可以差异化地实现不同的低代码设计器。这里我们有几个示例,可以更直观的了解低代码引擎给低代码平台提供的定制化能力。
这是中后台低代码平台的设计器,企业内部都有大量的中后台场景的应用,这部分应用主要用于企业内部,视觉效果的要求不高,为此,我们长期打造了一份好用的中后台物料,帮助用户在该场景下开发应用。其次,它面向的用户是有一定研发能力的团队,所以我们还提供了代码编写的能力,帮助他们更快地完成软件的开发,也可以实现更多复杂的业务场景。
对于数据类型的低代码平台,它主要是用来开发报表应用的,适合一些没有代码基础的团队。它的设计器在布局和一些细节的方面又不太一样。比如,我们的组件列表展示在顶部,操作更加方便,更贴合图表设计的场景。
对于小程序的低代码平台,它设计出来的应用是小程序应用,由于小程序都在手机端展示,所以在该低代码平台中,画布我们就设计成以手机的大小来进行展示,这样可以更方便用户在设计小程序应用的时候,在画布上看到的效果和最终展示在手机上的效果更接近。此外,它还有小程序端特定的能力,也就是小程序相关的配置能力,包括小程序的应用设置、渠道管理等等。
上面三种不同场景下的低代码平台,可视化部分也就是低代码设计器部分,都是基于低代码引擎实现的,这些低代码平台的开发者只需要使用低代码引擎的扩展能力,就可以快速的定制一款新的低代码设计器了。而低代码可视化部分的难题,包括渲染性能、拖拽体验、物料解析等等都由低代码引擎来解决。
低代码引擎在 2022.03 的时候对外开源的。它使用的是 MIT 协议,这是目前最宽松的开源协议,这也就意味着,通过低代码引擎自研的低代码平台,可以在企业内部使用也可以用于商用。
低代码引擎从开源到现在,已经有一年半的时间了,它的关注度一直在不断的提升,现在 star 数也已经有 12.4k 来,在 OpenRank 开源影响力排行榜单上位于国内项目 48 名。整体的活跃度和关注度都是很好的,并且持续上升中。
这也说明了两件事情,一方面,很多企业其实都有定制低代码的诉求,但是之前由于自建低代码平台的难度过高,所以一直很难实现,而基于低代码引擎可以大大降低建设的难度,和缩短建设的周期,建设低代码平台的成本降低了,周期缩短了,所以很多企业开始尝试建设自己的低代码平台了。另外一方面,低代码引擎能服务于很多公司,它可以覆盖各种不同的场景,通过低代码平台的开发者定制之后也可以服务于不同的人群。低代码引擎的定制能力得到了很好的验证。包括这次云栖大会,我们也遇到了很多开发者,他们基于低代码引擎做了自己的低代码平台,表示低代码引擎让他们的想法和创意得到了实现。当然有的也跟我们讨论了一些他们建设低代码平台基础能力时遇到的难题,这个也是我们低代码商业产品 UIPaaS 后续要解决的痛点。
低代码引擎建设的过程,一直有一个原则,最小内核、最强生态。

最小内核

一方面,我们在建设低代码引擎内核的时候,主要实现低代码相关的协议,对于低代码平台的诉求,我们通过支持新扩展点,来支持低代码平台。这种方式不会让低代码引擎越来越臃肿,也能支持大量的低代码平台。

最强生态

因为低代码引擎有很强的扩展能力,所以基于引擎的扩展能力,大家就可以建设大量的插件、物料等等。这些都是低代码引擎周边的生态,在没有涉及服务端时,基于我们低代码引擎建设的低代码平台,都可以使用这些生态。低代码引擎的团队如果说是 1,那低代码平台开发者就是 n,大量的低代码平台的开发者在源源不断的补充低代码相关的生态,这些大量的、丰富的、开箱即用的生态就是我们最强生态部分。低代码引擎的生态目前有两部分。
  1. 阿里内生态开源部分,阿里内部低代码引擎周边的生态实际上是非常非常丰富的,目前开源了一小部分低代码生态,两套基础的低代码物料,一套基于 fusion,一套基于 AntD,都是很好用的中后台物料。还有10多个开箱即用的核心插件以及二十多个官方设置器,有基于 React 的画布,有覆盖全链路的 CLI 工具链,能覆盖整个低代码平台研发过程。
  2. 社区生态,除了官方维护的生态,我们还有越来越丰富的社区生态,社区生态有多套低代码物料,也有基于低代码引擎画布扩展能力实现的 Vue 技术栈的画布,还有丰富的插件以及设置器等等。越来越多的社区贡献者参与到我们的生态建设中来,一直在帮助我们丰富低代码引擎相关的生态,我们也非常感谢大家。
有了低代码引擎和它丰富的周边生态,企业现在多了一个选择,基于低代码引擎定制低代码平台,这个选择会比完全由企业内部定制低代码平台,可以节省至少 5 人年的研发工作量。
低代码引擎只是提供了低代码平台的可视化的能力,而一个可用的低代码平台还需要大量的基本能力,也就是之前提到的应用管理能力、低代码相关的基本能力、企业内部的能力。这些基础能力覆盖的范围更广,需要考虑数据存储、权限管理、打包构建等等,这些能力要想建设好,也是需要一定的门槛和大量的周期的。
为此,我们通过阿里低代码商业产品 UIPaaS 来帮助企业,快速孵化一个低代码平台所需的基本能力,并且仍然提供了大量的扩展能力。

阿里低代码商业产品 UIPaaS

UIPaaS 的定位是低代码平台孵化器,他可以快速孵化出一个完整的低代码平台,并且提供了强大的扩展能力,让企业基于它就可以快速定制企业自己的低代码平台。UIPaaS 非常适合用于一些中大型的企业,他们具备自研能力,也有很强的定制低代码平台的诉求,并且他们的业务场景复杂,往往需要定制多个低代码平台。有了 UIPaaS 之后,定制低代码平台的成本就降低了很多,对于一些简单的定制化诉求,只需要很少的人力就可以孵化出一个定制化的低代码平台,对于一些复杂的定制化诉求,企业也可以大大缩短建设的周期。
如果说短视频应用,释放了大众视频的创造能力。那么 UIPaaS 低代码孵化器,它释放了企业低代码平台的创造能力。
图中是 UIPaaS 的基础能力,这些也是定制一个低代码平台需要建设的能力。

UIPaaS 前台能力

在 UIPaaS 前台能力的设计上,UIPaaS 包含了整个低代码引擎的开源部分。除了开源部分,UIPaaS 还包含了大量阿里内部的生态,这些生态在阿里内部打磨了多年,现在也一直投入人力进行打磨,长时间的打磨,以及长时间的实践,让这套生态比开源的生态更好用。
此外 UIPaaS 还孵化出来了大量丰富的解决方案,这些解决方案中,有的是基于垂直领域进行了长时间的打磨,比如中后台领域、数据报表领域和移动端领域,针对这些垂直领域打磨出来的解决方案,可以帮助企业快速孵化出有类似垂直领域需求的低代码平台。有的解决方案致力于解决低代码领域的难题,比如说组件解决方案、比如说多分支解决方案。还有的解决方案针对特点场景,可以更进一步的降低软件开发的人力成本,比如分层用工解决方案、比如说模型驱动解决方案。

UIPaaS 后台能力

在 UIPaaS 后台能力的实现上,完全基于云原生底座设计和实现,在系统依赖及中间件上,我们使用了稳定可靠且市面常见的云产品:云服务器 ECS 、云数据库 RDS、云数据库 Redis 、云对象存储 OSS 以及 CDN 加速服务等等。此外,UIPaaS 不止服务于阿里内部,也服务于不同类型的企业,因此 UIPaaS 也在积极的拥抱信创生态,支持越来越多的信创生态。(信创全名信息技术应用创新,始于2016年,兴起于2020年,如今信创热潮正在席卷整个ICT产业。信创本质是国产化替代的2.0阶段。)
有了底层能力之后,UIPaaS 基于这些能力,提供了低代码平台的基础能力、包括管理能力、打包构建、权限管理等等。
基于 UIPaaS,企业定制低代码平台的方式也就发生了变化,下图是 UIPaaS 提供的新的低代码平台研发模式。
定制低代码平台的流程发生了变化:
  1. 企业提出对于低代码平台的定制化诉求,包括业务场景,用户人群等等。
  2. 根据 UIPaaS 提供的垂直领域下的场景,选择一款开箱即用的解决方案,比如中后台应用场景、移动端应用场景、数据应用场景等。
  3. 根据企业的需求或者痛点,选择一些更有针对性的解决方案。
上面三步之后,UIPaaS 就可以孵化出一个完整的低代码平台,该低代码平台完全可以直接用于生产环境中。此外,该低代码平台还拥有强大的定制能力、完整的低代码生态、完整的低代码研发体系、以及私有化部署的能力。
接下来就根据企业的个性化需求进行定制,定制方式也提供了三种:
  1. 由企业内部进行开发定制,由于 UIPaaS 孵化的低代码平台,设计器部分是基于低代码引擎实现的,因此低代码引擎拥有的能力 UIPaaS 同时也具备,企业完全可以使用低代码引擎提供的扩展区域和扩展能力去定制低代码设计器,此外 UIPaaS 基本能力也提供了很多扩展能力,企业也可以根据这些扩展能力进行相应的定制和开发。
  2. 由 UIPaaS 团队提供开发定制,低代码平台的某些问题,不是简单的通过扩展能力就能实现的,比如低代码平台的并行开发能力,是需要一套成体系的解决方案才能解决。这些问题,一方面 UIPaaS 团队一直不断根据自己遇到的问题,不断地进行探索。另外一方面,如果企业有需要,也可以由 UIPaaS 团队帮助解决相关的问题。
  3. 由第三方进行定制化开发,企业也可以选择一些第三方团队,帮助企业完成他们定制化的诉求。
此外,UIPaaS 还提供了一套可视化定制平台 UIPaaS Studio 进一步降低低代码平台开发定制的成本。低代码平台完成定制化开发之后,就是一个满足企业业务场景的定制化低代码平台了。除了上诉定制低代码平台流程的变化,低代码引擎的开源生态也可以使用到我们定制化的低代码平台中,对于企业来说,这是一份很强大、很丰富的助力。
在新的研发模式下,UIPaaS 有这些优势:
  1. 快速孵化低代码平台,UIPaaS 提供了完整的低代码基础能力,对于一些垂直领域下的低代码平台,也通过长期的打磨孵化出来了一些开箱即用的解决方案,这可以帮助企业快速的孵化出一个完整的低代码平台。
  2. 丰富的解决方案,除了垂直领域的解决方案之外,我们也基于阿里内部的场景,深入研究了低代码平台的痛点,探索了大量的低代码解决方案,这些解决方案都可以快速的集成到 UIPaaS 孵化出来的低代码平台中,帮助企业解决痛点,打造更好用的低代码平台。
  3. 自由度很高的定制能力和扩展能力,强大的定制和扩展能力,能满足大多数企业的定制化诉求,帮助他们打造出定制化的低代码平台。此外,不同的企业内部的基建都是不同的,大多数企业都已经拥有了自己的基础设施和产品,UIPaaS 提供的扩展能力,可以很好地帮助企业将自身的产品和低代码平台进行打通,才能打造更好用的低代码平台。
  4. 门槛更低的可视化定制,通过可视化定制的方式,可以进一步降低低代码平台的定制化成本,让一些对低代码体系了解不同的开发者,也可以快速的定制出低代码平台。
  5. 支持私有化部署,对于 UIPaaS 孵化出来的低代码平台以及通过低代码平台开发出来的应用,UIPaaS 都支持私有化部署,安全性和可靠性都更高。
  6. 丰富的生态,UIPaaS 底层使用的是低代码引擎,越来越多的企业使用低代码引擎,意味着越来越多的低代码平台开发者使用低代码引擎,它们基于低代码引擎孵化出来的物料、插件等生态,都可以使用到我们的 UIPaaS 孵化出的低代码平台中,可以帮助企业更好地打造他们的低代码生态。
因此,UIPaaS 可以帮助企业用较少的人力成本,较低的成本就可以实现一套好用的、定制化的低代码平台。此外,UIPaaS 丰富的解决方案可以帮助企业快速的完成 Demo 的验证,缩短业务验证的成本,提高企业的敏捷性。
在保障定制能力和灵活性的前提下,企业如果通过 UIPaaS 自研低代码平台,至少可以节省 15 人年的工作量。

UIPaaS 优秀案例

阿里内部的业务场景非常多,有简单的、复杂的、通用型强,通用性弱的,规模大的,规模小的。在这种情况下,我们没有办法通过一个通用型的低代码平台覆盖那么多的情况。很多部门/子公司都需要根据自身的业务特点,定制一些更加符合自己业务特点的低代码平台。在 UIPaaS 孵化出来之前,阿里内部也有大量的低代码平台,其中存在大量的问题。
问题 1:大量的重复建设
在 2019 年,低代码引擎建设之初(低代码引擎是集多家低代码平台/引擎之长建设出来的,最早的一代低代码引擎是 2015 年开始建设,2019 正式启动了阿里共建),阿里内部大概有 50+ 低代码平台,这里面存在大量的重复建设。
问题 2:无效的建设成本 & 应用迁移成本
在 2019 年盘点的低代码平台中,在 2020 年盘点时,就有  6 个低代码平台由于业务试错调整、组织调整等原因停止运营了。定制化的低代码平台除了前期的定制成本、后续还需要持续投入大量的人力进行建设,对于无法持续投入的低代码平台,很容易陷入停滞或者停止运营,这里不止意味着大量无效的建设成本,还意味着基于这 6 个低代码平台开发出来的应用,后续大量的迁移成本。
问题 3:定制低代码平台的诉求无法满足
由于定制低代码平台前期建设的成本很高,后续的人力维护成本也很高,有的低代码平台用户规模小,导致建设低代码平台的投入产出比很低,所以他们虽然有定制低代码平台的诉求,但是很难投入人力去实现自己的定制化低代码平台。
UIPaaS 就是基于这些背景下孵化出来的。UIPaaS 第一个版本是在  2020 年 12 月孵化出来的,现在每个月通过 UIPaaS 孵化出来的低代码平台有接近 40 多个,其中有的是用于测试的,有的是用于真正的业务场景的。我们可以看到阿里内部对于定制低代码的诉求是非常旺盛的,截止到 2023.11 月,在阿里内部有 70 多个公司/部门,通过 UIPaaS 孵化出来了 120 多个低代码平台。而这些低代码平台由于更切合业务的特点,低代码平台的用户更愿意去使用它,一年可以通过这 120 多个低代码平台创造 7w 多个软件应用。
由此我们也可以看出来,UIPaaS 对于中大型的公司是非常有帮助的。UIPaaS 释放了大家对于低代码平台定制的诉求、降低了业务的试错的成本、定制化的低代码平台又进一步释放了上层用户应用的创造力。
UIPaaS 还服务于一些证券公司,这里我们通过其中一个作为案例,了解 UIPaaS 的能力对于企业有什么帮助。
强大的扩展能力,UIPaaS 通过提供强大的扩展能力,帮助该证券公司将低代码平台和内部的系统进行打通,集成了内部的 SSO 登陆、账号体系、Mock 平台等等。
模型驱动的解决方案,在规范了前后端协作流程之后,可以更加快速的孵化出标准化程度高的中后台应用,进一步降低了企业应用的研发成本。
数据应用解决方案,帮助企业快速孵化出数据应用场景下的低代码平台。
最终 UIPaaS 帮助该企业孵化出了一个定制化的中后台低代码平台和一个定制化的数据应用低代码平台。
UIPaaS 还服务于一些国企,帮助国企打造强安全限制的、可离线操作的中后台低代码平台。
离线解决方案,大多数低代码平台都是在线开发的,由于企业的特殊性,需要在离线的环境下开发软件应用,因此我们提供了离线解决方案,帮助该公司支持离线开发,满足不同场景下的安全限制的要求。
中后台场景解决方案,帮助该公司快速打造一个中后台场景下的低代码平台。
强大的扩展能力,UIPaaS 提供了画布、物料、渲染扩展能力,帮助该公司基于其原有的技术栈,定制出对应的画布和渲染能力,让该公司原有的应用物料也能使用到孵化出来的低代码平台中。

UIPaaS 解决方案介绍

了 UIPaaS 之后,我们就可以快速拥有一个完整的低代码平台。此外,我们还可以通过集成 UIPaaS 解决方案,让我们的低代码平台更加好用。
我们通过 UIPaaS 快速孵化出一个低代码平台之后,接下来还有各种问题需要我们解决。对于不同的角色、不同的场景,我们如何打造出更适合该场景、该角色的低代码平台。我们还会遇到低代码平台普遍会遇到的问题,比如如何进行协同开发,如何由业务来创建自定义物料等等。
为了帮助低代码平台快速的解决这些问题,我们在 UIPaaS 的基础上,提供了一种新的生态能力作为补充,即 UIPaaS 的解决方案。每一个解决方案都致力于解决某一类场景/某一类角色/某一类难题。对于不同的低代码平台来说,它需要解决的问题都是不一样的,因此它所需要的解决方案也是不一样的,它可以按需选择适合的解决方案集成到低代码平台中。
目前 UIPaaS 已经探索了大量的解决方案,接下来会介绍三个常用的解决方案。

组件研发解决方案

对于一个低代码平台来说,物料是应用的生产材料,物料越丰富,应用的搭建效率就越高。但是我们很难覆盖所有的场景,并且都提供适合物料,这时候就需要低代码平台的用户开发自定义物料。大多数的低代码平台是通过源码的方式来开发物料的,源码开发实际上是不适合低代码平台的用户的。
  1. 源码开发需要了解一些前端的框架,比如说 React、Vue 之类的前端框架,学习并且使用它们来开发组件。
  2. 源码开发还需要使用一些额外的工具,比如说代码编辑器、比如说命令行、比如说 git、比如说 npm 包,任意一个环节都有一定的学习成本。
因此,源码开发的开发方式和低代码平台的开发方式是割裂的,大多数低代码平台的解决方案是,将源码组件的开发和低代码页面的开发者分开,但是这样又引入了协同和沟通的成本。在这个背景下,我们提供了一种新的组件研发模式,也就是还是使用低代码的开发方式来开发物料,我们把这种研发方式开发出来的物料,称为低代码组件。
组件研发解决方案,核心就是通过低代码的方式,也就是可视化的方式来开发业务组件。这种开发方式,可以让低代码平台的用户,自己就可以完成低代码物料的开发。此外,我们在低代码平台中即可完成一个物料的创建、开发到最终使用的流程。开发和使用方式完全和一个低代码页面的开发使用是类似的。
这种低代码组件的研发方式,相对于源码组件的研发方式,有更多的优势。
  1. 上手门槛更低,由于它使用和低代码平台一致的研发方式,因此对于低代码平台的用户来说,是没有额外的学习成本的。
  2. 研发效率、安全性、扩展更高,在线化的操作方式,减少了源码开发繁琐的步骤,研发效率也就更高,也带来了更高的安全性和扩展性。
  3. 不会带来额外的研发成本,低代码组件可以通过出码的方式,使用到源码项目中,对于特殊的场景也不会带来额外的研发成本。
这种低门槛、高效率的组件研发方式,非常适合在低代码平台中进行使用。

模型驱动解决方案

模型驱动的解决方案,提供了一种新的研发协作方式,这种新的研发协作方式,可以进一步帮助前端或者后端提升研发效率。
UIPaaS 的模型驱动解决方案,它的核心在于支持从模型直接生成最终的页面。
对于大多数企业,有很多标准化程度高的应用,这些应用大多数用于中后台场景,它们在展示方式、展示效果、功能上都比较类似,主要是部分内容有些差异。为了更快的孵化出该场景下的应用,我们将这些应用差异化的部分抽象成模型,再由这些模型,通过简单的配置生成最终的应用。这样我们可以减少繁琐且重复的可视化操作过程,进一步提升应用的研发效率。此外,新的研发模式由于只需要简单的配置即可生成应用,我们可以直接由视觉/后端来操作,完全释放前端的研发资源,让他们参与到其他项目中。
最终该场景下应用的研发,在减少参与的角色和减少协同的过程中,又可以进一步大大降低了应用的研发成本。
上图是模型驱动解决方案下应用研发的前置流程,即设计模型的部分,该部分我们也提供了可视化的能力,可以帮助低代码平台的用户更好地定义模型之间的关系。
定义了模型之后,我们就可以通过模型和配置化的方式,生成最终的应用。这里我们提供的配置化的方式,可以帮助低代码平台的用户,选择最终的页面要展示的字段和展示的方式,操作十分直观和简单。
配置完成之后,我们的应用也就生成了。

多分支解决方案

多分支的解决方案,主要是解决在低代码平台中协同开发的难题。
在低代码平台中,开发模式基本上都是串行开发,A 需求开发完成并且上线了,才能进行 B 需求的开发。如果有紧急的需求,是没有办法在需求的开发过程中插入进去的。这对于一个应用开发来说,是一个非常大的问题。它意味着,我们没有办法同时开发多个需求,也没有办法随时去解决紧急的问题,整体的灵活性大大降低。
因此,我们通过长时间的探索,提供了一种在低代码平台下,可以并行开发多个需求的能力。这就是 UIPaaS 多分支解决方案提供的能力。在该模式下,我们可以同时开发多个需求,遇到紧急需求,我们也可以随时进行支持并上线。不再耽误应用的迭代需求,意味着更灵活、更高效。
多分支解决方案核心在于,提供了一种新的概念,即迭代的概念。一个迭代意味着一个需求,我们在低代码平台中可以创建多个迭代,也就意味着我们可以同时开发多个需求。每开发完成一个迭代,我们都会通过技术手段,将迭代之间的变更进行合并,最终达到并行开发的效果。
此外,多分支解决方案还增加了两个重要的步骤,即查看改动点 & 代码评审。
在支持这个能力之前,低代码的开发基本上是黑盒开发,很多应用在不清楚改动的详细内容的情况下就上线了。因此,我们需要在上线之前整体检查一下我们的改动,是否符合预期,是否有逻辑问题,是否增加了不必要的改动。此外,我们还需要更多的人,帮助我们检查我们的改动,进一步保障低代码开发的应用的质量。
在低代码平台中,查看改动点 & 代码评审肯定也是需要可视化的方式来实现的。因此我们探索了一套新的、可视化 Diff 的能力,有了这个能力我们才能让所有人,看到应用开发的改动点是什么,才能完成一个应用的代码评审。
图中就是查看改动点的可视化界面。我们可以非常直观的看到哪些页面存在变更,变更了什么内容,以及了解变更前后的变化。只有这种方式,我们才可以让低代码平台的用户可以做到了解自己的改动以及评审其他人的改动。
除了上面提到的三个解决方案,我们还有很多丰富的解决方案,比如混合研发解决方案、移动端场景解决方案、中后台场景解决方案等。此外,我们也还在持续探索新的解决方案,比如说 AI 辅助下的低代码开发模式、可视化的方式解决逻辑编排的问题等等。
拥有 UIPaaS,不管是已有的解决方案还是我们未来探索出来的解决方案,都可以随时集成到企业内部的低代码平台中,让企业内部同学可以有更多的时间去聚焦具体业务和场景本身,定制出更好的低代码平台。
以上,就是低代码引擎和 UIPaaS 的一个基础的介绍,有兴趣的可以关注低代码引擎和 UIPaaS,了解更多详细的内容,有需要的小伙伴也可以加 vx 进行交流。
继续阅读
阅读原文