前言

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