Low Code 和实践
date
Mar 22, 2022
slug
low-code
status
Published
tags
使用笔记
summary
在当今这个 追求高效 的 互联网时代,自动化、智能化这种能够提效的名词已经成为了当下时代的标签,好像身边所有事物都会受这条主线影响和变化,Low Code 也是受这条主线影响而必然出现的产物。
type
Post
前言
在当今这个日新月异的互联网时代,互联网企业利用 近乎为零的边际成本 和自带的 杠杆效应, 长期在市值排行榜占据绝大多数, 而企业之间的竞争自然离不开谁可以更好的 服务用户, 服务用户最核心的一点就是 快速响应客户需求, 从而形成正反馈, 为了能够做到更好的快速响应, 提效降本 可能是唯一解法, 而 Low Code 也是这个时代 必然 出现的产物。
什么是 Low Code?
Low Code 全称为 Low Code Development Platform 简称 LCDP。
Low Code 通过 可视化拖拽组件 进行程序开发的方式, 无需编码 或 少量代码 就可以快速生成应用程序的开发平台。
我们为什么需要 Low Code?
各个互联网公司都存在着里有各种各样的 BOSS 系统,甚至不同 BOSS 还分为不同地区,各类小改动、重复改动、相同改动的需求之多使得前端资源变得捉襟见肘。
而 Low Code 本质在于 提效
- 基于 物料 更快速的完成页面
- 在于 开放,可以使后端、运营、产品等都能加入到其中来,从而缩短 BOSS 需求的 开发周期,这样就可释放一部分前端资源去做更多提升 Low Code 平台或完成更加复杂的 BOSS 需求
发展现状
从图上的热词搜索来看,从 2018 年左右开始搜索的热度逐年上升屡破新高,各类 Low Code 平台如雨后春笋在不同领域出现,这也侧面说明了,目前这个技术和概念还没有到一个稳定期,属于群雄逐鹿的阶段,在相同领域,也有不同实现方式,使用 Low Code 的方式最佳体验,就是在合适的场景使用,才可以做到 提效, Low Code 无法做到全场景覆盖,也就是个性化、复杂化较高的页面不适合用 Low Code 实现。
Low Code 俩种模式
最终我们选用的是阿里开源的设计器引擎: formily
架构图
flowchart TB
materiel[物料]
template[模板]
router[路由]
snapshot[快照]
release((发布))
bossRouter[BOSS 路由]
bossPage[BOSS 页面]
rebeccaRouter[Rebecca 路由]
rebeccaPage[Rebecca 页面]
rebeccaUI([@atome/rebecca-components-ui])
serverRebeccaAPi[服务 Rebecca 的接口]
serverPublishAPi[服务 BOSS 的接口]
database[(数据库)]
subgraph LowCode[低代码平台]
subgraph LowCodeServer[后端]
serverRebeccaAPi <--> database
serverPublishAPi --> database
end
subgraph LowCodeFrontend[前端]
materiel -.-> template
template --> snapshot
template -.-> router
router --> snapshot
snapshot --> release
end
end
subgraph UsePlatform[BOSS]
subgraph Layout
bossPage --> bossRouter
rebeccaPage --> rebeccaRouter
end
rebeccaRouter --> rebeccaUI
end
rebeccaUI --> |获取最新快照|serverPublishAPi
LowCodeFrontend --> serverRebeccaAPi
目前还存在的一些问题
- 开发体验上:热更新、预览效率、智能提示、一致性
- 项目安全上:模板的权限管理、项目隔离、分支管理