企业级低代码开发平台核心技术解析

发布时间:2023/08/01 14:08 发布者:Leo

返回博客中心

低代码的概念于2014年首次被提出,这是一项用于提升软件交付效率的开发技术和工具,以可视化为典型特征,能起到降低编码开发工作量和开发成本的作用。经过近十年的发展,低代码技术逐渐走向成熟。主流的低代码开发平台大多基于元数据驱动的设计理念,提供多层次的组件封装,帮助开发者实现开发效率倍增的目标。低代码的应用场景也从规模较小、复杂度偏低、无需考虑可维护的表单类场景扩展到企业的核心业务系统。

在这些进步的背后,需要低代码开发平台的哪些技术做支撑?本文将以活字格企业级低代码开发平台为例,展示适用于企业级应用开发的低代码开发平台需具备的技术能力。

低代码技术应用场景升级

国内知名研究机构艾瑞咨询在2022年8月发表的《中国低代码行业研究报告》中将低代码的应用场景划分为5级,场景的复杂度从简单到复杂分别为:

  1. Level 1 中小企业一般业务场景:行业属性较低,可以实现跨领域、跨企业应用,满足中小企业的共性场景需求
  2. Level 2中小企业个性化场景:可以服务于各类企业的个性化需求场景,并根据不同的企业类型和行业属性进行调整;在低代码应用中非常受欢迎,或将成为行业应用中的热门场景
  3. Level 3中大型企业级创新应用场景:通常用于中大型企业创新业务场景,跟核心系统耦合度不强,是比较独立的版块
  4. Level 4中大型企业级中长尾场景:跟核心系统有一定耦合度,但是属于核心系统里的中长尾场景,试错成本低,激活后可从核心系统剥离
  5. Level 5中大型企业级核心业务系统:通常用于中大型企业的整体内部管理,属于企业级应用,场景相对复杂;根据企业需要,通过低代码平台提供定制化解决方案

报告回顾了低代码的发展历程,提出低代码在不同应用场景的渗透率,受产品功能覆盖度和应用场景复杂度两方面共同影响,中小企业一般业务场景由于需求简单,且通用性较强,低代码渗透较早,应用覆盖更为全面,随着产品技术积累和需求侧认知提升,不断由中小企业个性化场景、中大型企业创新应用场景、中长尾场景向中大型企业核心业务系统渗透。

1688103098090

(低代码的应用场景,艾瑞咨询)

从葡萄城的低代码实践中,艾瑞咨询的判断得到了充分的验证。自2016年发布以来,活字格企业级低代码开发平台以每半年一个版本的速度进行快速迭代,产品技术能力持续领先,应用场景也随之不断升级,持续深化。今天,我们已经能够看到大量使用活字格成功构建企业核心业务系统的成功案例。

众所周知,企业核心业务系统除了功能复杂、规模庞大之外,可维护性等技术要求也远高于非核心的企业软件,这对低代码开发平台提出了更高的要求。为了攻克这些技术难题,以“赋能开发者”为使命的葡萄城为低代码开发平台组建了强大的研发团队。团队的核心成员毕业于北京大学、西安交通大学、西北工业大学、北京理工大学等知名高校,拥有近10年的企业软件或开发控件研发经验,与服务国内大量头部软件企业和行业客户的业务团队和技术支持团队通力合作,经过4年自主研发,在2016年正式推出了活字格低代码开发平台,并为之建立了配套的培训和技术服务体系。

正是这些建立在数十年专业开发技术服务所积累的经验上的创新,让活字格无愧于企业级低代码开发平台的定位,帮助开发者实现企业核心业务系统开发效率倍增。接下来,让我们盘点一下活字格大量成功案例背后的核心技术。

更专业的产品形态

与无代码产品通常采用的纯Web方案不同,活字格采用高性能桌面设计器加跨平台服务器的产品架构,贴近开发者使用习惯的同时,从开发到部署,全方位提升开发效率。

充分考虑企业级软件开发者的使用场景和痛点,葡萄城借鉴主流集成开发环境的设计理念,为活字格设计器选用了桌面程序的技术方案。相比于Web设计器,活字格的桌面设计模式可以让开发者不依赖网络连接,即便在工厂车间或飞机高铁等网络信号不佳的地方,也能顺畅的进行开发和调试。此外,针对企业软件页面元素数量多、嵌套层次深的特点,活字格为了保证开发者的操作流畅度,在桌面设计器上引入显卡(GPU)加速技术,提升“所见即所得”的响应速度,大幅提升开发者的工作效率。

大多数企业更倾向于将核心业务系统部署在私有化的环境中,所以活字格除了提供PaaS云部署模式(活字格云)外,还支持私有化部署。选择私有化部署的客户将会拥有对应用和数据的全部控制权限,满足企业多样化的安全可控需求。此外,葡萄城积极响应信创号召,让活字格的服务管理器(可以类比于编码开发中用到的Web服务器,如Tomcat、IIS等)可以兼容国产化操作系统与CPU架构,通过等保三级认证。作为一款信创目录产品,活字格能帮助开发者轻松构建运行于信创产品上的Web应用,帮助政府、事业单位和国有企业加速信息化建设。在做好国产化适配的同时,为了减少客户的部署复杂度,活字格还内置有自动化的安装脚本,可以自动检测操作系统和CPU架构,自动下载和安装运行所需的其他组件,实现服务器端的 “跨平台一键部署”,进一步提升运维工作效率。

可视化覆盖面更广

低代码技术的生产力优势源于可视化开发,可视化的覆盖范围越广,开发效率的提升效果就越明显。接下来,让我们聚焦在核心业务系统的可视化开发和调试环节。

上世纪90年代,以Visual Basic为代表的可视化集成开发环境开创了前端界面可视化开发的时代,并延续至今。而在业务逻辑的可视化开发方面却走了一些弯路,OA、BPM、组态软件等行业软件厂商尝试将流程图应用于业务逻辑开发。在逻辑处理偏简单、策略较单一的场景中取得了一些成果,但受限于流程图中偏低的信息密度以及与计算机教学和开发实践中使用到的程序代码在组织方式上的巨大差异,这种模式在核心业务系统开发领域乏善可陈。在这样的背景下,葡萄城决定打破思维定式,从C#、Java等托管语言的解析和运行中寻找灵感,在用户交互和后端服务的可视化开发中引入更接近程序语言的“树状结构”,沿用Java等高级语言中使用的“变量、循环、条件”等逻辑控制概念和机制。开发者通过可视化的方式组织业务逻辑,运行时活字格将会严格按照开发者定义的层次和顺序依次执行这些逻辑,实现了业务逻辑的‘所见即所得。活字格将这种业务逻辑的可视化开发机制称为“命令”。开发者需要构建的业务逻辑中的节点和策略越多,命令相比于流程图,在易读性上的优势就越大。当命令运行在前端页面时,可以响应用户交互;运行在服务器端时,通常被称为服务端命令,可以视为前后端分离模式下的后端WebAPI,在提供给前端页面使用的同时,也能用于和第三方系统的双向集成。

(活字格中可视化的后端服务构建界面)

解决了业务逻辑可视化的框架问题后,团队发现核心系统的复杂性决定了开发者还需要用到一些函数库来实现数值计算、字符串处理等场景。为了解决这一问题,活字格充分利用葡萄城在表格技术领域30余年的技术积累,引入了类Excel的表达式解析和计算引擎,让开发者可以直接在活字格中组合使用Excel公式。这种做法更大的意义在于,互联网上海量的Excel教程和问答资源都可以无缝应用到低代码开发中。从逻辑控制到函数库,活字格在满足企业核心业务系统开发的基础上,兼容开发者已经掌握的概念和使用习惯,以降低开发者学习和使用的投入为抓手,进一步提升总体效率。

在解决了可视化开发后,还需要帮助开发者提供比编码开发中常用的“单步执行”更高效的调试方案。为此,活字格基于日志机制开发了一套全新的调试机制。在执行命令的时候,活字格会在日志中记录走过的每个步骤,包括该步骤涉及到的变量的值和执行耗时等关键信息。如果这个步骤涉及到数据库读写操作,日志中还会记录实际执行的SQL脚本。丰富的信息和命令设计器中节点的一一对应关系,都能够帮助开发者迅速理清命令的实际执行路径。当出现与预期不符的情况也能快速定位出现问题的步骤。

在调试状态下,命令运行在前端时会将日志输出到控制台,开发者在浏览器中按下F12就能看到;服务端命令的日志会被记录在内存中,随着服务端命令的处理结果一同返回到前端,最终显示在控制台里,和调用该服务端命令的命令合并到一起,便于开发者查看。

文本

(活字格自动生成的命令执行日志)

活字格的可视化业务逻辑构建和调试能力,对于包含核心业务系统在内的大多数企业级应用来说,除了使用数据库编程方式做一些必要的性能优化外,开发者几乎无需任何编码,真正实现了将可视化开发覆盖软件开发全生命周期。上述技术创新均为葡萄城自主研发,已申请专利保护:“一种支持Excel公式的服务端可视化编程方法及系统” (专利号:ZL 202211667843.8)和“一种基于低代码平台的调试方法、系统及装置” (专利号:ZL202211671501.3)。

协同开发模式更成熟

企业核心业务系统除了业务逻辑复杂,技术要求高外,通常还存在规模较大的特点。以制造业的全流程系统为例,页面数量通常在2000个以上。如果使用传统的编码方式开发,投入的人月数量通常在数百,即便引入活字格后采用低代码开发,投入也会在数十个人月的规模。不论是从交付周期还是人事风险的角度考虑,这样的项目显然不适合交给一个人进行开发。于是,低代码开发平台也需要提供一套完整的协同开发机制。

基于自身的技术管理经验,葡萄城选择git作为活字格协同开发的基座。借助部署在局域网的Git服务器或Git SaaS服务,开发者可以在设计器中拥有类似编码开发的版本管理和协同开发体验。为此,活字格设计了一套元数据管理机制,将开发者使用设计器可视化构建的每一个页面、服务端逻辑、服务端通知(WebSocket服务)以及可复用的组件、样式、配置等分别存储为独立的文件,每个文件都可以单独进行版本管理,如获取最新版本、获取特定历史版本、版本比对等。充分考虑到低代码相较于编码开发更高的开发速度,为了避免多个开发者修改同一个文件带来的变更合并操作以及可能引入的质量风险,活字格还提供了 “签出锁定”功能,当一名开发者将某个文件签出后,其他开发者将无法再对这个文件进行修改,对简化项目管理,提升总体效率起到了重要的作用。

(托管在Gitee上的低代码项目)

为了全面满足开发团队的CI/CD自动化需求,活字格设计器在版本管理的基础上,还提供了命令行的运行方式,开发者只需要指定参数即可使用一行命令完成应用的打包和发布。这意味着开发团队可以在Jenkins等调度工具中配置出从Git获取项目文件到将其发布到服务器的全流程。到这里,现代的敏捷式项目管理就可以迁移到低代码项目中了,在享受低代码带来的高效率的同时,依然保持的项目进度和质量的把控。上述技术也是葡萄城自主研发,已申请专利保护:“一种低代码平台多人协同开发的方法及系统”(专利号:ZL 202211653162.6)。

赋能企业应用开发者

文章从产品形态、可视化开发和协同开发等多个视角展示了活字格的核心技术。正是这些技术打造了活字格企业级低代码开发平台与众不同的特性。未来,葡萄城将持续投入产品研发,在满足企业核心业务系统开发所需的前提下,扩大应用场景,提供更多开箱即用的高质量组件、沉淀最佳实践,帮助开发者优化软件开发流程。

与此同时,引领软件开发工具行业40余年的葡萄城深知“授之以渔”对于开发者的价值,因此,活字格产品配套提供了多套学习资源及成长方案,帮助程序员、IT技术人员甚至有志于从事软件开发的业务人员快速掌握必备的开发技能和最佳实践。这些学习资源包括线上互动式直播课、可定制的现场培训、成体系的教学视频、由机械工业出版社出版的《低代码开发实战》一书以及数千页的帮助文档等,充分满足广大开发者差异化的学习习惯。在初步掌握低代码开发技能,在实际项目中通过“学以致用”不断提升的同时,开发者还能通过葡萄城技术社区和更多低代码开发者互动,参与低代码沙龙、葡萄城公开课等技术活动,开阔眼界,持续提升开发能力。

(为中国石油集团共享运营有限公司举办的定制化培训现场)

除了帮助客户打造有战斗力的低代码开发团队之外,葡萄城还提供低代码咨询服务,以输出低代码项目设计和低代码开发实践经验的方式,帮助客户梳理系统架构,制定系统方案等帮助客户成功。

总结

从产品到服务,葡萄城在低代码领域持续践行“赋能开发者”的使命,不断扩大低代码技术的应用边界,帮助更多开发者进一步提升软件开发效率,进而全面支撑企业发展,为数字中国建设提速。


活字格企业级低代码开发平台 | 下载试用

活字格 是葡萄城基于在专业控件领域 40 年的技术积累而推出的企业级低代码开发平台 ,由简单易用的可视化设计器和部署灵活的服务器构成,能帮助开发人员、IT 技术人员和业务人员快速构建美观易用、架构专业、安全可控的企业级多终端应用,并随需而变。活字格高度开放灵活,支持云部署和本地部署,能与微信、钉钉及各行业应用软件无缝集成,并可对接智能硬件、AI 等技术,全面支撑核心业务系统开发。

了解更多关于活字格企业级低代码开发平台内容,请点击此处访问官网,立即下载体验。