前言

在当今这个日新月异的互联网时代,互联网企业利用 近乎为零的边际成本 和自带的 杠杆效应, 长期在市值排行榜占据绝大多数, 而企业之间的竞争自然离不开谁可以更好的 服务用户, 服务用户最核心的一点就是 快速响应客户需求, 从而形成正反馈, 为了能够做到更好的快速响应, 提效降本 可能是唯一解法, 而 Low Code 也是这个时代 必然 出现的产物。

什么是 Low Code?

Low Code 全称为 Low Code Development Platform 简称 LCDP。

Low Code 通过 可视化拖拽组件 进行程序开发的方式, 无需编码 或 少量代码 就可以快速生成应用程序的开发平台。

我们为什么需要 Low Code?

各个互联网公司都存在着里有各种各样的 BOSS 系统,甚至不同 BOSS 还分为不同地区,各类小改动、重复改动、相同改动的需求之多使得前端资源变得捉襟见肘。

而 Low Code 本质在于 提效

  1. 基于 物料 更快速的完成页面
  2. 在于 **开放,**可以使后端、运营、产品等都能加入到其中来,从而缩短 BOSS 需求的 开发周期,这样就可释放一部分前端资源去做更多提升 Low Code 平台或完成更加复杂的 BOSS 需求

发展现状

Untitled

从图上的热词搜索来看,从 2018 年左右开始搜索的热度逐年上升屡破新高,各类 Low Code 平台如雨后春笋在不同领域出现,这也侧面说明了,目前这个技术和概念还没有到一个稳定期,属于群雄逐鹿的阶段,在相同领域,也有不同实现方式,使用 Low Code 的方式最佳体验,就是在合适的场景使用,才可以做到 提效, Low Code 无法做到全场景覆盖,也就是个性化、复杂化较高的页面不适合用 Low Code 实现。

Low Code 俩种模式

功能 优点 缺点 主流开源代表作
低代码引擎 页面搭建器/页面和表单的渲染引擎等 开箱即用、完整、全面 1. 无法渐进接入现有项目
  1. 耦合性强
  2. 拓展性差
  3. 灵活性低 | amis | | 设计器引擎 | 专注于对组件本身的设计,不关心谁消费、如何消费 | 低耦合、灵活、扩展性强、无黑盒操作 | 对于开发来讲,学习成本会高一些 | formily |

最终我们选用的是阿里开源的设计器引擎: formily

架构图

flowchart TB
  materiel[物料]
  template[模板]
  router[路由]
  snapshot[快照]
  release((发布))

  bossRouter[BOSS 路由]
  bossPage[BOSS 页面]
  rebeccaRouter[Rebecca 路由]
  rebeccaPage[Rebecca 页面]
  rebeccaUI([&#64atome/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