聊聊低代码

801 阅读6分钟

背景

低代码开发平台(英语:low-code development platform,简称LCDP),是一种方便产生应用程序的平台软件,软件会开发环境让用户以图形化接口以及配置编写程序,而不是用传统的程序设计作法。此平台可能是针对某些种类的应用而设计开发的,例如数据库业务过程、以及用户界面(例如网页应用程序)。这类平台可能可以产生完整且可运作的应用程序,也可能在一些特殊的情形下仍需要编写程序。低代码开发平台可以减少传统代码的数量加速商业应用软件的完成时间。常见的好处是让比较多的人可以参与软件的开发,不只是那些有程序设计技巧的人。低代码开发平台也可以让设置、训练及布置的初期成本降低[1]

为什么需要Low-Code

近几年 low-code 理念在前端领域逐渐流行起来,主要有这些原因:

  • 被资源化的前端开发者:工作量大,但技术要求大多不高,生产效率成为了必须要解决的问题

  • 开放的前端技术体系:low-code 类代码生成工具很容易与前端技术体系结合起来

  • 趋于成熟的前端工程化体系:成熟稳定的前提下,才会转而追求变革式的生产效率突破

针对第三点的前端工程化历经了这样几个阶段:

  • CLI 工具:脚手架、构建工具、调试服务等等

  • GUI 客户端:GUI 化的 CLI 工具,除交互方式外区别不大

  • 定制化端 IDE:基于 IDE 扩展脚手架、构建、调试、发布、监控等工程链路能力

  • 云 IDE:基于 Web IDE 扩展一系列工程链路能力,进入云研发时代

在 CLI/GUI 工具时代,编码层面的效率提升主要体现在通过脚手架自动生成模板代码,减少了样板代码的编写,让开发者码得更少

在接下来的端/云 IDE 时代,API 提示、自动补全、代码片段(Snippets)等实用功能也通通集成进来了,让开发者码得飞快

IDE 时代之后,编码层面的效率提升已经达到极致,更进一步的生产效率提升需要变革式的突破。于是,迎来了 low-code 时代,让非专业开发者也能“码”得又好又快。

ProCode、LowCode和NoCode区别

主体

特点

优势

劣势

场景

ProCode

完全手工编码

  1. 精确表达

  2. 封装的基础上更好的实现提效的目的

  3. 多端和多产品代码涉及到共享和复用

  4. 门槛高(新同学)

  5. 研发效率不够高

专业研发人员

  1. 所有的C端H5业务开发
  2. BFF端代码

LowCode

可视化 + 少写代码

  1. 所见即所得

  2. 一站式研发

  3. 专业门槛低

  4. 技术收敛

  5. 平台易用性要求高(相对于ProCode)

  6. 前端技术日新月异,平台可能成为历史包袱

专业研发人员 + 少量PD

  1. 蚂蚁的云凤蝶 - 开发
  2. 阿里的宜搭- 开发

NoCode

可视化 + 不写代码

少量研发+ 大量运营

  1. 闪蝶
  2. 斑马

可以看到

  • Pro Code、Low Code、No Code 之间不是替代消灭关系,⽽是互补加强关系

  • 所以低代码不一定是熟悉的搭建,任何通过平台或者可视化工具提升效率,减少编码的工作都是【低代码】的一种

  • no-code 到 low-code 再到 pro-code 应该始终遵循的是一个标准

使用低代码的判断依据

使用和研发2个角度来考虑,如果是使⽤的话,绝⼤部分场景都是适合的,一个好用的可视化工具确实能提升效果,反之这也是一个坑人的设计。在研发也需要考虑,研发这一类的工具,相关投入要5个人以上以及很长的周期,这个也需要权衡看下

任何可视化或者搭建平台的东西,效能提升可能是在【规模效应】和【使用成本】之间的一个差值,两个可能都是正向,可能一正一负,所以这个差值是需要有简单的判断。

低代码的优势

低代码在某些场景可以很好的提升效能,比如我们在通过GUI工具来管理项目的mock数据相对于代码的方式效能提升很多倍,首先这个场景足够简单,可视化带来的切换成本不够高。但很多场景转变为可视化带来是更多复杂度,反而是降低了效率,尤其是对于编程能力很强的员工,使用一个低代码平台并不能降低成本。

低代码引入难点

对于引入的难点,可以分为2个方向来着:使用者和使用场景

对于使用者可以分为专业开发者和运营人员。两者都会特别注重使用体验,开发者要求功能特别好,不然可能是鸡肋;运营太复杂的可视化也用不来,也不敢放心的用。大部分的运营同学最熟悉的可能是【各种业务表单配置】,熟悉又高效。

对于使用场景,参考【ProCode、LowCode和NoCode区别】这一节讨论的,前端侧可信性较高的场景可能是在:BFF逻辑编排、业务逻辑可视化、业务模块搭建等场景。但这类场景有很强的业务属性在里面,我们需要考虑是如何结合自身的业务特点来定制。目前据我了解到比较成功的低代码平台都是找准了自己的业务场景,比如宜搭在公司审办公审批流之类的场景,陆游在PC端聚合查询的场景

一站式研发

当下低代码⼯具⼀般是全⽣命周期的,把近乎全⽣命周期的 Hand Code 编程变成可视化编程,通过低代码平台可以把现有研发流程简化,完整开发、调试和上线一条龙服务。

策略

技术上,实现低代码平台的关键要素是模型驱动设计、代码自动生成和可视化编程,通过这些手段来隐藏下层的代码细节。

因此在结合团队目前的业务情况以及人员情况,我们对于低代码的应用做了简单调整:**写代码为主,可视化功能为辅。**我们应该基于 Pro Code(写很多代码) ,可以通过 VAP(可视化辅助编程)的方式来帮助我们更快的写代码、写好代码。