低代码技术研究路径解读|低代码的产生不是偶然,是数字技术发展的必然

本文主要是介绍低代码技术研究路径解读|低代码的产生不是偶然,是数字技术发展的必然,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

上一期对中国信息通信研究院企业数字化发展共建共享平台《低代码发展白皮书(2022年)》#低代码发展趋势 进行了解读,在政策推动下,各行业企业积极落地数字化转型设计方案,数字化场景落地需求爆发式增长,低代码已成为效能提升的突破点。

本文将对白皮书内容-低代码技术研究路径进行解读。

 

中国信息通信研究院《低代码发展白皮书》

版权所有:中国信息通信研究院--企业数字化发展共建共享平台


随着编程语言的迭代、抽象、简化、复杂和整合,低代码技术不断精进,形成更加简单、清晰的图形化界面与高级语言结合的开发模式。在数字化转型方案实施过程中,低代码开发能够覆盖大量应用场景,减少重复性代码编写工作,提升开发效率。为进一步拓展能力边界,推动低代码技术的革新,亟需探索低代码技术与新IT技术的结合方式与应用。

理念创新驱动技术发展,低代码认知日臻统一

在汇编语言、第四代编程语言、VPL(Visual Programming Language,可视化编程语言)、RAD(Rapid Application Development,快速应用开发)模型等语言和理念的演进下,低代码的雏形逐步形成。2001年对象管理组织推出了模型驱动架构(MDA,Model-Driven Architecture)方法,支持正向工程,即代码可以通过画图或者设计模型生成。模型驱动开发(MDSD,Model-Driven Software Development)指采用建模语言替代编程语言、建模工具替代编程工具,先创建模型再自动生成代码,最后编译为应用系统的开发过程。技术革新和理念创新都是新技术诞生的坚实基础,低代码的产生不是偶然,是数字技术发展的必然。

 

图-低代码技术发展时间线 (图源/中国信通院  )

低代码有很长一段自由发展期,期间缺乏完整定义,大家习惯根据自己的理解为新技术“添砖加瓦”,导致没有统一认知,竞争赛道模糊。2014年,Forrester提出低代码的定义,“利用很少或几乎不需要写代码就可以快速开发应用,并可以快速配置和部署的一种技术和工具。”;2018年Gartner提出和推广aPaaS和iPaaS概念,持续的技术创新让低代码受到越来越多的人关注。

相关研究机构的定义引导大众形成了对低代码的基本认知,规范了发展赛道,并指出其技术特点高度契合数字化转型需求,迅速吸引了大量资本投入,极大地加强了低代码的市场活跃度。

低代码衍生新产品类型,重构体系化能力框架

低代码的主要作用是降低应用开发的准入门槛,赋能不同角色人员,让开发者利用图形化界面,通过拖拉拽操作,以“搭积木”的方式快速开发软件应用,减少重复的基础搭建工作。

中国信通院基于低代码·无代码推进中心的研究工作,将低代码产品的共性核心能力分为以下五点:

开发及管理能力,指提供可视化开发及配置的能力,提供开发过程和开发资源的管理能力,提供开发过程产物的产生、复用、删除的生命周期管理能力。支持完成前端页面搭建、前后端交互逻辑配置、数据模型配置、业务逻辑配置、实时预览、版本保存等全栈开发环节,快速构建应用。

扩展与集成能力,分为两个方面:一是扩展能力,在可视化开发的基础上,需要提供代码开发能力,通过少量代码支持对组件、功能等各颗粒度的资源进行扩展完善;二是集成能力,可以通过集成文件、工具、系统等外部能力,增强开发能力,覆盖更多应用领域,也可以通过集成接口,向外赋能低代码开发能力。

用户体验,指基于低代码产品的学习成本、易用性等因素带来的用户体验感,其能力水平难以量化,需要从产品设计与开发者思维的契合程度,可视化和代码开发的均衡程度,操作教学、能力认证、协作开发等权限管理及服务的功能完备度等多方面进行衡量。

生态能力,指多端响应式支持、上下游连通、应用二次开发等多方面功能。在生态环境层面,能够实现业务迁移,减少用户使用或更换低代码产品的成本消耗,增加用户的产品选择自由度;在产品发展层面,能够完善自身,扩大服务能力,增强产品生命力。

安全保障,指提供对产品自身及用户资产的安全保障功能。面对低代码产品,安全问题涉及人员泄露、设备部署、网络入侵等多方面,需要满足国家网络安全保障要求及应用领域的特殊安全性要求,全方位帮助开发者构建安全合规的软件应用。

图-低代码产品能力框架 (图源/中国信通院  )

基于低代码的应用特点和能力框架,市场已经衍生出两种产品类型,分别是低代码开发平台低代码开发工具

1.低代码开发平台

低代码开发平台是指运用低代码技术将底层架构和基础设施等抽象为图形界面,以可视化设计及配置为主,少量代码为辅,提供快速搭建页面、设计数据模型、创建业务逻辑等能力,实现应用快速构建的开发平台。

低代码开发平台必须具备以下能力:

应用全生命周期管理,指支持设计、开发、测试、部署、迭代、运维的全生命周期管理能力。实现应用开发效率提升、需求快速响应、敏捷迭代更新、运营维护便捷等功能,打造一站式的应用开发平台。

2.低代码开发工具

低代码开发工具是面向专业开发者的应用开发工具,通过图形界面或领域专用语言(DSL)简化应用开发过程,以标准化工具为基础,场景化工具及个性化工具为扩展,同时可支持常规编程工具对应用源码进行二次开发,有效提升应用开发效率、提升共性组件复用率、降低工程维护成本。

低代码开发工具必须具备以下能力:

依赖软件包管理,指向开发者披露应用依赖软件包清单,并开源自研应用依赖软件包,便于开发者查看并选用合适的低代码工具,也便于对应用进行二次开发。

 

新IT技术融合带来新力量,低代码发展前景可观

 

云原生技术是数字化转型技术发展的基石,提供多方面保障。在容器、微服务、DevOps等云原生技术广泛应用下,极大地降低了算力成本,使低代码摆脱性能的桎梏,打破了市场对低代码的固有认知,重新掀起低代码浪潮。

目前市场中低代码产品以开发平台为主,云原生技术与低代码技术的结合能够带来多重软件开发优势:

优势1:第一部署方式多样化

部署方式可以扩展为公有化部署、私有化部署和多版本、多环境部署,支持根据应用方的需求制定部署方式及资源,提供应用场景的多样化选择和应用数据等资产的保障;

优势2:提升协同工作能力,加强研发效率

开发团队轻松将企业业务解耦,兼容已有的敏捷研发方案和工具,整合技术优势,进一步加强敏捷迭代效率;

优势3:开发资源云上存储,功能持续完善

可视化开发能力边界由开发者能力、资源储备量、智能化程度等条件共同决定,云存储可以大量扩充页面,组件,函数,模板等可视化资源储备量,并提供存储安全保障、存储管理、资源对接调用等能力;

优势4:保障平台及应用高可用、高可靠和高安全

容器化的典型技术特征是极致的弹性能力,可实现秒级甚至是毫秒级的弹性响应,提升性能水平,使得云上的低代码产品拥有快速的故障自愈和弹性伸缩的能力,让平台的稳定性得到质的提升,构建和运行可弹性扩展的应用,保障业务高效、稳定地运行;

优势5:提升自动化能力

随着研运一体化敏捷创新,传统人工已经难以应对海量的数据处理和漏洞筛查,通过自动化收集、分析、筛选、改进的能力,取代部署、配置、管理等人工操作,整体降低安全风险,加速业务发展和创新。

图-低代码与新IT技术融合赋能数字化转型

(图源/中国信通院  )

近年来,新IT技术融合应用是大势所趋,低代码已陆续与AI、大数据、RPA、IOT、SaaS平台等技术和资源进行整合,在智能分析、数字孪生等领域发挥重要的助推作用。低代码既能促进技术融合,激发技术应用潜力,又能不断充实自身能力,赋能全链路开发,渗透业务场景,挖掘数据的潜在价值,实现数字化赋能,是技术发展和应用创新的重要一环。

以云畅科技自研的万应低代码平台为例,其基于可视化和模型驱动理念,采用云原生与多端融合技术,在技术融合和助力企业资源整合上有着区别于其他平台的天然优势,为众多行业企业数字化转型提供着坚实的技术支撑,共同擎画着一幅幅智慧城市数字产业发展新蓝图。

下一期,将带来低代码产品能力定位图解读,敬请关注!

 

这篇关于低代码技术研究路径解读|低代码的产生不是偶然,是数字技术发展的必然的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/672412

相关文章

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN