背景
低代码开发平台(英语: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
完全手工编码
-
精确表达
-
在封装的基础上更好的实现提效的目的
-
多端和多产品代码涉及到共享和复用
-
门槛高(新同学)
-
研发效率不够高
专业研发人员
- 所有的C端H5业务开发
- BFF端代码
LowCode
可视化 + 少写代码
-
所见即所得
-
一站式研发
-
专业门槛低
-
技术收敛
-
平台易用性要求高(相对于ProCode)
-
前端技术日新月异,平台可能成为历史包袱
专业研发人员 + 少量PD
- 蚂蚁的云凤蝶 - 开发
- 阿里的宜搭- 开发
NoCode
可视化 + 不写代码
少量研发+ 大量运营
- 闪蝶
- 斑马
可以看到
-
Pro Code、Low Code、No Code 之间不是替代消灭关系,⽽是互补加强关系
-
所以低代码不一定是熟悉的搭建,任何通过平台或者可视化工具提升效率,减少编码的工作都是【低代码】的一种
-
no-code 到 low-code 再到 pro-code 应该始终遵循的是一个标准
使用低代码的判断依据
从使用和研发2个角度来考虑,如果是使⽤的话,绝⼤部分场景都是适合的,一个好用的可视化工具确实能提升效果,反之这也是一个坑人的设计。在研发也需要考虑,研发这一类的工具,相关投入要5个人以上以及很长的周期,这个也需要权衡看下
任何可视化或者搭建平台的东西,效能提升可能是在【规模效应】和【使用成本】之间的一个差值,两个可能都是正向,可能一正一负,所以这个差值是需要有简单的判断。
低代码的优势
低代码在某些场景可以很好的提升效能,比如我们在通过GUI工具来管理项目的mock数据相对于代码的方式效能提升很多倍,首先这个场景足够简单,可视化带来的切换成本不够高。但很多场景转变为可视化带来是更多复杂度,反而是降低了效率,尤其是对于编程能力很强的员工,使用一个低代码平台并不能降低成本。
低代码引入难点
对于引入的难点,可以分为2个方向来着:使用者和使用场景。
对于使用者可以分为专业开发者和运营人员。两者都会特别注重使用体验,开发者要求功能特别好,不然可能是鸡肋;运营太复杂的可视化也用不来,也不敢放心的用。大部分的运营同学最熟悉的可能是【各种业务表单配置】,熟悉又高效。
对于使用场景,参考【ProCode、LowCode和NoCode区别】这一节讨论的,前端侧可信性较高的场景可能是在:BFF逻辑编排、业务逻辑可视化、业务模块搭建等场景。但这类场景有很强的业务属性在里面,我们需要考虑是如何结合自身的业务特点来定制。目前据我了解到比较成功的低代码平台都是找准了自己的业务场景,比如宜搭在公司审办公审批流之类的场景,陆游在PC端聚合查询的场景
一站式研发
当下低代码⼯具⼀般是全⽣命周期的,把近乎全⽣命周期的 Hand Code 编程变成可视化编程,通过低代码平台可以把现有研发流程简化,完整开发、调试和上线一条龙服务。
策略
技术上,实现低代码平台的关键要素是模型驱动设计、代码自动生成和可视化编程,通过这些手段来隐藏下层的代码细节。