从 no-code 到 low-code 再到 pro-code
很多企业级系统发展到成熟期都会有这样的诉求:配置化。经过多年的发展,系统的核心能力已经较为完整,而不同业务线或使用方的个性化诉求本身不大,更多是对于存量能力的个性化改动,为提高交付效率,快速支持业务产生价值,对存量能力封装,提供标准化模板,以配置化方式展示,提供给运营操作,实现低成本定制,实现自运营自闭环。
其背后的技术实现就是low-code。
那no-code、low-code、pro-code三者有什么不同呢?可以参考下面概念说明:
业界有几种全家桶集成解决方案,比如微软的PowerApps,谷歌的AppMaker,Salesforce的SaaS产品。
业界aPaaS平台带来几点参考:
- 高效整合才能降低成本,这是所有玩家的心智,不容质疑。
- 视角要放大,要能够覆盖 90% 场景,必须要构建一套完整的生态链,从 no-code 到 low-code 再到 pro-code 都要有对应的解决方案,且要做到互相之间能够打通,这是 Salesforce 和 SAP 给到的经验,目前 AppMaker 和 PowerApps 主要针对表单、表格垂直领域,还不能够玩大,单一领域视角解决的问题有限。
- 可视化的流式编排针对特定场景提效明显,应对稍微复杂一点的场景,一点也不好玩,比如 AppMaker 就粗暴一点,直接使用 SCRIPTS,书写表达式更舒服,不知道使用 OutSystems 的用户是什么感受。
很长一段时间,国内兴起了很多可视化建站产品,「可视化建站」是「低代码建站」的前身,目标也是不用写一行代码,拖拖拽拽就可以把一个站点搭建起来,但更多的是从表现层(前端)单一领域去解决问题,只能完成静态页面的效果,对于真正的业务很难走完闭环。
存在以下一些问题:
- 纯前端思维,比如数据服务接入方式,缺少像 AppMaker/PowerApps 支持 DataConnectors 的统一数据接入层,和各个系统没有形成有效整合。
- 能解决的场景也有限,高度复杂的企业级 CRM 系统,不是通篇一律的,业务逻辑高度复杂,面临定制化考验,稍微复杂一点的,需要做的工作可能会更多,甚至有时候搞不定,没有享受到可视化搭建带来的福报。
- 很多专业开发在搭建平台施展不开才华,缺少专业级工具支持,比如 VSCode、Git。
不同角色之间不能有效的形成配合,比如后端数据接口,不能在可视化搭建工具中反射出来。
- 搭建页面大多以 Schema 形式存储,代码也不好 diff,在运行时动态渲染也会带来性能问题。
......
不同目标用户的产品方案有所不同,商业级能解决大多数通用问题,而企业级是要能解决更多复杂性问题,面对复杂性企业级问题时,我认为最起码要做到两点:
- 将不同场景所需要的能力进行分解、分层,最后通过能力的整合来应对,提升灵活变通能力;
- 同时有通用方案和兜底方案,多种方案之间应该遵循统一标准,是打通融合的。
三者渐进式如下:
演进路径如下:
no-code 开发
最初比较简单,符合标准化的 CRUD:
进行业务建模,配置业务规则;
根据建立好的模型选择标准化 CRUD 模板,直接产出;
预览、发布。
low-code 开发
但是有些地方需要稍作定制,比如时间戳的格式化、页面上需要额外展示用户详细信息:
将标准化生成的产物,以可视化编辑打开;
修改关联字段时间的格式化方式、新增用户信息块;
保存、预览、发布。
pro-code 开发
随着业务复杂度变高,很多业务逻辑需要写更多代码,也希望代码被版本控制、进行 diff 等:
将标准化生成的产物在 WebIDE 中打开;
编辑视图,比如关联的动作,定位到对应动作代码,修改逻辑;
使用 WebIDE 提供的 git 功能,进行代码对比及代码提交;
保存、编译、预览、发布。
对于 pro-code 核心关键点有:
WebIDE:pro-code 环节设计上是可以使用桌面 IDE 的方式,但未来必定属于云开发时代,桌面 IDE 天然的和 PaaS 平台有割裂感,过去我们担心 WebIDE 技术不成熟,今天 vscode 引领了新一代的编辑器变革,带来诸如 coder、theia 等功能和性能都很完备的 WebIDE 技术储备,技术上没什么好担心的;
Git 打通:企业级产品,没有那么随意,一般需要强管控,其中版本控制尤为重要,不管是 pro-code 还是 no-code,最终形态都是一种代码形式的标准产物,都应该托管在 Git 仓库上,在必要的时候可以进行回溯和对比;
可视化编辑打通:可视化编辑是 low-code 和 no-code 的代表功能,通过 Recore (统一 DSL)的技术将可视化和 pro-code 打通,是 pro-code、low-code、no-code 三者之间形成互通的必要条件。
服务的集成
在上面提到的产品中,都有这样的一个设计,无论是自家的服务还是别人家的服务通过一个集成平台,将他们有机的整合在一起,在任何需要的环节,都能被高效的使用。
阿里的OneService 概念,期望将与数据相关的接口或服务通过 OneService 集成起来,打通生产中的各个环节,如下图:
设计的系统,比较关心两个问题:
能创造多少价值?
能活多久?
一个具有顽强生命力的系统,应当在时间维度上持续创造价值,有以下几个关键点:
适合的土壤,大风向以及政策鼓励,有强烈市场需求;
持续标准化,标准化不是一个固定结果,而是一个动态过程,需要有一个进化机制,保证标准化的生态具有自洁能力,适应行业发展;
行业渗透,打通行业链路上下游,将标准、理念融入到行业各节点,能够反哺自己的生态,并有助于形成规模;
共同成长,带动行业成长,行业的成长就是自己的成长。
from 阿里技术
从 no-code 到 low-code 再到 pro-code相关推荐
- 你只使用到了 VS Code 20% 的功能?让 VS Code 首著作者带你玩转 VS Code!
Visual Studio Code 作为广受好评的开发工具,已经被越来越多的开发者当作首选的开发工具.然而,你真的了解 VS Code 了吗?你真的会使用 VS Code,把 VS Code 的强大 ...
- 你只使用到了 VS Code 20% 的功能?听听 VS Code 首著作者怎么说
Visual Studio Code 作为广受好评的开发工具,已经被越来越多的开发者当作首选的开发工具.然而,你真的了解 VS Code 了吗?你真的会使用 VS Code,把 VS Code 的强大 ...
- ajax 微信code获取_微信网页授权——获取code、access_token、openid,及跨域问题解决...
首先在微信开发文档中有提到微信网页授权的操作步骤: 第一步:用户同意授权,获取code 在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中 ...
- SyntaxError: Non-UTF-8 code starting with ‘\xbd‘ in file D:/code/CapsNet/word.py on line 6, but...
关于pyCharm报错解决:SyntaxError: Non-UTF-8 code starting with '\xbd' in file D:/code/CapsNet/word.py on li ...
- vscode弹出cmd_先看看 VS Code Extension 知识点,再写个 VS Code 扩展玩玩
TL;DR 文章篇幅有点长 ,可以先收藏再看 .要是想直接看看怎么写一个扩展,直接去第二部分 ,或者直接去github看源码 . 第一部分 --- Extension 知识点 一.扩展的启动 如何保证 ...
- Alibaba Code代码索引技术实践:为Code Review提供本地IDE的阅读体验
作者:曲径 阿里研发基础设施团队 Code Review在研发流程中非常重要,但Web界面中Code Intelligence能力的缺失改变了原有的代码阅读习惯,又增加了阅读成本.本文将介绍阿 ...
- Request failed with status code 413 AxiosError: Request failed with status code 413 请求体过大报错
在写一个富文本框 内容上传时 由于上传的文件 比如图片文件太大导致发请求的时候 报错413AxiosError: Request failed with status code 请求体过大 这里为了 ...
- Go 学习笔记(1)— Ubuntu 系统 Go 环境搭建、VS Code 配置 Go 开发环境、VS Code 远程开发配置
1. 安装说明 Ubuntu 下直接安装 Go 1.11 版本编译器时需要依赖 Go 1.4 版本.所以如果在使用 apt-get install go安装时参考以下链接安装:https://blog ...
- php小程序登录code无效,微信小程序出现“invalid code”怎么办
微信小程序出现"invalid code"的解决方法:我们只需要在开发者工具的详情界面中修改Appid即可.小程序分发的code是与appid绑定的,仅当前申请code的appid ...
- vs code怎么编译C语言,Visual Studio Code 如何编写运行 C、C++ 程序?
要想进行debug,launch.json文件并不是必须的,只要有 tasks.json 文件即可. 最新操作: 0.安装MinGW,将其bin目录加入到系统变量的PATH中;在vs code中安装C ...
最新文章
- 详细讲述STP过程【转自56cto.com】
- qt鼠标进入窗体后,窗体自动置顶
- 罗宾斯管理学13版pdf_全球著名管理学家,曾任五大高校教授,罗宾斯教你如何做好管理者...
- Magento 默认显示全部 magento products per page on grid default value all
- 关于状态更新时间字段取值的问题
- 英伟达2022财年第二季度获得创纪录营收65.1亿美元
- SASS 的相关函数
- 随机产生13个0~51不同的随机数 -思想(定义参考系)
- 关于类类型的隐式类型转换
- [CSS3]制作50个超棒动画效果教程
- pycharm怎么改成中文版?
- linux安装wineQQ
- java影院订票系统图形界面,java简单影院订票系统Word版
- ad走开窗线_奇怪的用户,您不存在。 走开。
- 【matlab图像处理】直方图均衡化操作
- 裁判文书数据搜索新网站【有法网】
- 为subclipse配置http代理,解决“RA layer request failed, Unable to connect to a repository at URL ... 错误
- 机器学习SVC分类预测三个月后的股价
- P2P之关资金存管(二)模式
- 祝贺:美云智数进入云安全联盟,《2021零信任落地案例集》