01 低代码平台演进
1. 低代码概念
低代码是无需编码(0 代码)或通过少量代码就可以快速生成应用程序的开发平台。
通过可视化进行应用程序开发的方法,具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。
2. 低代码衍生历程
-
20 世纪 80 年代,第四代编程语言出现。
-
2000 年 VPL 可视化编程语言的诞生,是低代码产品的前驱,都可以通过一些可视化的界面来进行操作。
-
2014 年 业界咨询机构 Forrester 低代码/零代码概念。
-
2016 年 国内低代码平台相继发布。
-
2018 年 业界咨询机构 Gartner 提出 aPaaS 和 iPaas 的概念。
-
2021 年 中国市场低代码生态体系逐步建立。
3. 为什么要用低代码 ?
1)降本增效,便捷开发
低代码开发能够为企业降低成本,提升效率。在过去,低代码平台出现之前,传统的原生代码开发平台需要进行代码开发,开发完成之后需要进行测试以及 bug 修复的一系列繁琐工作。
此外,传统的原生代码开发平台涉及到一些上下游合作方是紧耦合的串行开发模型,依赖方不提供接口,上游服务也没有办法进行该接口的开发工作。这增加了开发过程中大量的沟通成本和时间成本。
低代码开发平台出现后,研发人员可以通过前端图形化的拖拉拽实现需求,实现了研发效率的提高,使用低代码平台降低了研发人员的工作量和对编码人员开发技能的要求。低代码平台套用封装代码,基本消除测试修复 bug 的环节。同时,低代码开发平台是松耦合的并发开发模型,大大降低开发中对合作方的依赖性,从而降低沟通和时间成本。
2)打破业务竖井,增强跨职能沟通
传统开发模式下:业务、产品、设计、开发、测试与运维人员各司其职,且各有一套领域内的工具和语言,长久以来很容易形成一个个 “竖井” ,让跨职能的沟通变得困难而低效。
有了低代码后,我们能够基于低代码快速的进行开发,这一状况将得到改善。由于低代码上手容易,无需经过太多专业的训练,业务人员也可以快速上手,通过“拖拉拽”,基于模板或者可视化界面快速生成应用,从而打破业务壁垒。
3)提高产品的灵活性
企业可以利用低代码平台发可以轻松地更改应用和业务流程,而无需花费大量时间编写代码。应用和系统的灵活性、可操作性和可更改性大大提高。
4)加快数字化转型
在经济新常态下,为了提高经营效率和经营表现,数字化转型是大多数传统企业的目标,而低代码技术可以帮助企业更快更好地完成数字化转型。
相比于纯代码开发,使用低代码开发企业应用能将项目的交付周期大幅缩短,从而更敏捷地完成项目交付,大幅提升企业数字化的速度。敏捷交付的背后是更多次数的迭代,以及软件系统与企业贴合度的大幅提升,而这点是企业数字化转型成败的关键。
4.全代码&低代码&无代码对比
此处用一个象限图来说明业界低代码的演进方向,首先从看到图中的箭头,左下到右上,我们从传统的编程模式是逐渐向无码化来演进的。
左下的代码编程,就是我们传统的编程阶段。前提是需要有一些比较强的编程能力。从早期的低级语言、到高级语言、进而到类库的提供、以及组件的使用。
右上的无码操作,指的是无代码、通用 SaaS 类的产品是可以让我们进行简单快捷的进行操作生成应用,但他们的灵活性是不够的,如果要支持灵活性和扩展性往往需要我们改变他们。
有没有一种更好的方式,能够支持这种情况?我认为最理想的情况是,在开发者不懂前端语言(JavaScript 等)或者不懂后端语言(Php、Java 等)的情况下,依然能开发一个足够灵活、足够通用的应用。我认为,低代码平台就是最接近这一个领域的手段,因其可以同时兼顾灵活性和业务逻辑,从而达到最适合开发小白的需求的理想状态。
5.低代码市场分析
低代码行业最近几年一直被知名咨询机构 Gartner 所关注。目前,国内外都有很多企业在加入低代码平台搭建,足以说明这个行业的市场认可程度。
从咨询机构 Gartner 的市场分析来看,2023 年全球超过 50% 的大中型企业将把低代码应用平台作为主要的占领应用平台之一。预计到 2024 年,低代码应用程序开发将占总应用开发的 65%以上。
6.低码平台核心能力
低代码的平台具备的核心能力要素,我认为有四点:
-
可视化开发
-
数据模型驱动
-
扩展性
-
工程化
图片
下面针对以上四点逐一分析:
(1) 可视化开发
业务人员基于可视化的页面或工具能够进行简单拖拉拽、可以形成一个页面信息。
他们也能够基于可视化界面来配置定义数据源和数据模型、简单定义一个流程,可以执行工作流。
总而言之,就是前端拖拉拽可以形成前端的交互语言,进而生成后端可以执行的计算机语言。
(2) 数据模型驱动
低代码平台,能够可以通过页面上的操作进行定义一个模型定义,可以灵活的定义模型中的字段、也可以进行相关数据表的关联操作,以及设置数据模型的规则和索引。
a. 模型定义
进行数据库模型的设计、添加字段,设置字段的类型以及索引
b. 模型关联
建立数据库表与表之间的关系,具体表现为 1 对 n,n 对 n,n 对 1、1 对 1 等关联关系
c. 数据操作
基于数据库表对外提供一个 CRUD 的操作,让应用能够操作该数据模型
(3) 扩展性
是指低代码平台是否可以提供一些机制来进行扩展。
具体的扩展方式有以下三点:
a. 扩展语言
低代码平台是否能够我熟悉的语言来扩展,假如我是前端开发者,能否提供前端熟悉的语言来扩展,假如我是后端开发者,能否基于写一些后端代码(Java 、Go 等)来扩展。
b. 逻辑扩展
低代码平台能否通过定义一些流程图也进行业务逻辑的扩展,来执行业务 if、else 的流程来做业务上的一些调用。
c. API 集成
低代码平台是否可以通过低码平台搭建的应用与第三方公司已有的系统或者服务做集成,能否在低码中通过 API 做集成过来,供我的应用来调用集成。
(4) 工程化
低代码平台是否可以进行本地开发调试、版本控制、自动构建发布上线、免运费以及监控的一些能力。简单来说是否在该平台上一站式配套的能力。
a. 扩展语言
低代码平台要能够进行本地的开发调试。
b. 版本管理
低代码平台可以进行版本回退操作,以及有能力可以预留体验,回退体验的时候不会影响到发布态的产物。
c. 自动化
低代码平台可以自动构建发布上线、免运费以及配套监控的一站式能力。
02 微搭低代码架构和开发简介
1. 微搭低代码介绍
微搭低代码平台是高效、高性能的拖拽式低代码开发平台,向上连接前端的行业业务,向下连接云计算的海量能力,助力企业垂直上云。微搭以云开发作为底层支撑,云原生能力将应用搭建的全链路打通,提供高度开放的开发环境。
微搭低代码是低代码应用程序平台(LCAPS)+ 多维体验开发平台(MXDP)的结合体。
我们有以下能力:
1)多端支持
一套代码,可以同时支持多端、小程序、web、pc 都可用。
2)生态集成
我们内部集成了腾讯文档,腾讯会议、微信支付、企微等能力,可以一站式用用户提供能力。
3)高阶组件
内部提供了模型组件、企业工作台等高阶组件。
-
开箱即用
提供了开箱即用的能力,可以通过我们的应用市场、模板中心可以快速的进行业务开发和发布。
-
云端一体
底层是 serverless 云原生技术,业务开发完成之后,业务上的是免运维免部署。
-
统一管理
提供了框架开发的规范,便于统一的管理。
-
高扩展性
支持高扩展性,高扩展性能够自定义组件、第三方数据源完成自定义逻辑的扩展。
-
混合开发
业务模式上支持 可视化开发、低代码开发的能力。
2. 微搭低代码产品架构
微搭低代码提供了应用开发的一站式低代码开发服务,从底层能力迭代至行业级方案,云原生全链路支撑为您的应用保驾护航,让您能够完全专注于业务场景,小白也可以极速搭建出成熟、专业的应用。
3. 微搭低代码后端实践
我们看下微搭低代码的后端实践,那么我们思考下后端低代码需要解决什么问题?我认为应该有四点,以及具体在微搭低代码平台是如何实践的:
1、业务数据如何存?如何实现自定义数据存储?
微搭低代码抽象出了数据模型。
2、如何实现业务流程流转?
微搭低代码基于工作流来进行业务流程流转。
3、业务数据和流程流转,那些人可以访问和控制?
微搭低代码建立了用户权限平台,来进行人员角色的控制。
4、如何进行服务端逻辑的自定义扩展?
微搭低代码通过云函数来实现后端服务的自定义扩展能力。
所以我们微搭低代码后端开发实践分为以下四种:
数据模型、工作流、角色权限、服务端扩展。
文章来源: 腾讯技术工程
- 还没有人评论,欢迎说说您的想法!