今日分享丨新一代混合型开发技术解析

技术背景

随着企业数字化转型的持续深入,软件作为数字化转型的核心载体,其需求量产生了井喷式增长,Gartner 预计,2021 年市场对于应用开发的需求将五倍于专业IT公司的产能。为填补这一产量缺口,低代码/零代码技术是目前唯一可行的解决方案,低代码开发技术已经成为IT领域技术发展的一个主要趋势和热点。
低代码开发技术趋势及必要性
低代码开发是一种软件快速开发方式,可以让开发人员通过少量代码甚至零代码完成业务应用的开发,低代码技术基于MDA模型驱动架构,通过对软件开发过程中涉及的业务要素进行模型化封装,形成体系化、可复用的开发模型库并提供可视化建模工具,使用者无需编码即可完成企业系统的常见功能开发,少量编码即可完成高级功能扩展,相比于传统软件开发工具和技术,低代码技术提供了平民化、标准化的快速开发能力,具有开发门槛低、开发效率高的优势,相比于其他快速开发工具,低代码的扩展性更好,可以胜任企业核心业务系统的开发需求。

业内低代码技术实现方式

目前业内的低代码技术主流实现方案一般分为两种,一种是基于源代码生成的生成型模式,另一种是基于解释引擎的解析型模式。
在这里插入图片描述低代码技术的生成型实现,是通过业务模型,生成特定开发语言的源码,通过源码编译/解释执行,实现软件功能的运行,具有提前编译生成源码、开放可控、可扩展性好,执行效率较高等优势,缺点是动态调整能力较差,难以在运行期实现功能扩展与定制。
低代码技术的解析型实现,是将业务模型直接运行于内置的模型解析器之上,通过解析器动态解释模型内容,执行业务逻辑,不依赖特定语言源码,优势是可免去编译环节,流程简单,支持基于“软”配置而非“硬”编码执行软件功能,支持运行期灵活调整与扩展,缺点是由于未提供源码,程序运行细节封装于模型之中,对于开发人员是一个封闭的黑盒,解析执行效率相对较低等。

浪潮海岳低代码平台inBuilder新一代混合型开发技术

低代码开发技术主要面向两类开发场景、两类人群,一种是面向非专业开发场景,对应人群为业务领域知识储备较多,但不具备专业开发技能的业务人员,比如实施顾问、业务专家等;另一种是面向专业开发场景,对应人群为具备专业编程技能的技术人员,比如软件开发工程师。
在非专业开发场景中,要求低代码开发平台提供的开发视图具有如下交互形式:首先提供可视化设计器,使用者可以通过拖拉拽式的模型开发与组装,应对和完成业务需求的开发;在专业开发场景中,要求低代码开发平台提供的开发视图不仅要提供可视化的设计器界面,还应提供专业的编程IDE界面,供开发人员细粒度、精细化地调整程序细节,优化代码实现方式,扩展定制化需求。
以上两种开发视图在低代码开发中均有特定应用场景,但同时也引入了模型与代码容易割裂、不同开发视图之间切换成本较高、两种实现方式难以融合等技术难题。

低代码技术实现方式

结合低代码技术产生的背景,综合上述两种低代码技术实现方案,发现各有优劣势,并且业内的主流低代码产品也都是采用了上述的某一种特定实现。
浪潮海岳inBuilder在上一代产品中对于上述两种技术实现方式都有工程化落地的大量实践,积累了丰富的设计和开发经验。在新一代产品的架构技术选型和总体方案设计时,为了实现低代码技术降低研发成本、最大化提升综合研发效率、解放生产力的技术目标,创新的采用了一种编译+解析的混合(Mixed Mode)技术实现方案,既能够兼具传统的两种技术实现方案的有点,又能够有效规避技术方案的弊端,具体对比如下图所示:
在这里插入图片描述
浪潮海岳inBuilder的低代码技术可同时支持生成型模式与解析型模式,实现混合模式,对于不同的开发部署场景,允许开发者根据具体场景把控两种模式的边界与尺度,选择合适的模型运行模式,并支持同一个功能实现的混合执行,最大程度融合两种模式的优点,规避劣势,实现优势互补,高效运行。
浪潮海岳inBuilder为了支持混合型技术,从底层架构和机制上做了充分设计,主要包括以下几个方面:

1、模型标准化与平台无关性:
低代码平台中承载业务逻辑的模型具有标准性,系统中所有模型基于统一建模标准,模型内容描述应基于标准的语义与语法规范,同时应提供标准的设计时、运行时概念模型,语义统一,行为统一,体系可遵循,元素可复用,模型内容采用DSL描述形式保持语义完备性与功能完整性,可解耦模型标准与模型实现,实现模型的开发语言无关性与技术平台无关性。
2、模型开放性:
低代码平台的模型标准与模型实现具有开放性,模型体系技术框架遵循开源开放原则,易于模型自身的可扩展性并易于实现多技术栈融合共享,能够融合各产业与行业领域特色,扩展模型范围与支撑的广泛的应用类型和场景。浪潮海岳inBuilder为达到这方面的设想,已经通过中国开放原子开源基金会,将浪潮海岳inBuilder的核心模型体系UBML(Unified Business Modeling Language)开源,致力于发展开源生态,实现模型生态、应用生态的互融互通,进一步增强低代码技术的核心建模能力,扩充模型体系,具体开源社区地址为:https://gitee.com/ubml。
3、多开发视图融合统一:
针对不同开发场景,面向不同开发人员,应基于统一模型标准,提供多开发视图,实现低代码/零代码拖拉拽式开发与专业IDE硬编码开发的融合,两套开发视图之间可基于统一模型实现内容自动更新同步,遵循“模型即代码”理念,支持模型与代码的双向同步,支撑多种开发场景,消除冗余同步操作,最大程度降低综合开发效率,实现“一套模型、多种视图”的开发体验。
4、全技术栈模型覆盖:
低代码模型体系基于大量应用开发模式与开发场景提炼,沉淀,提供涵盖全技术栈的开发建模体系及工具,全面涵盖业务应用系统开发所需的用户界面、API服务、业务领域逻辑、实体数据结构、业务流程、打印、查询等开发内容要素,形成体系化、可复用的开发模板库,支持领域业务核心逻辑的可持续沉淀,实现模型内容深度与类型丰富度持续扩充增强。只有做到了全技术栈的模型覆盖,为应用提高充分的建模支撑效应,才能发挥出混合型技术方案的最大化优势,让基于低代码技术开发的应用既能够开发高效、又能够运行高效、灵活。
在这里插入图片描述
浪潮海岳inBuilder开源社区版,就是基于混合型开发技术设计的,可同时支持生成型模式与解析型模式,是一款开源的免费企业级低代码平台。此外,inBuilder社区还提供丰富的在线资源,支持开发者自主下载安装、学习认证、项目开发、交付应用,感兴趣可直接点击下述网址了解体验:
https://ibc.inspures.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值