从no-code到low-code:企业级hpaPaaS的未来
The following article is from 阿里技术 Author 康为
▐ 引子▐
软件即服务 (SaaS) 是一种通过互联网交付应用的模式。客户能够通过 Web 浏览器访问 SaaS 应用,这意味着,客户无需购买、安装、维护和更新硬件或软件。SaaS 提供商负责确保一切顺利进行,而且客户通常能够使用最新版本的应用。
平台即服务 (PaaS) 能够提供云平台和各种工具,帮助开发人员构建和部署云应用。用户可以通过 Web 浏览器访问 PaaS,所以企业无需购买和维护基础硬件和软件。借助 PaaS,开发人员还能采用租用的方式挑选所需的功能。
采用基础架构即服务 (IaaS),企业可以通过按使用付费的方式,“租用”服务器、网络、存储器和操作系统等计算资源。IaaS 提供商负责托管基础架构和处理系统维护及备份等任务,这样,客户就无需购买硬件或雇佣内部专家对其进行管理。
Microsoft PowerApps:微软全家桶服务集成的非常好,比如 Excel,全站写代码的地方都统一为 Excel 相似的概念 Formula/Fx,另外 PowerBI/PowerFlow 十分强大,定位 hpaPaaS (low-code);
Google AppMaker:谷歌产,谷歌全家桶服务集成的非常好,谷歌工程师文化在 SCRIPTS 体现得比较极致,无论是后端、前端都使用开发生态的 JS 语法,代码提示十分友好,定位 hpaPaaS (low-code);
Salesforce SaaS:平台领头羊,集 IaaS、PaaS、SaaS 与一体的云平台,目前市值 1255 亿美元;
Sap:集 IaaS、PaaS、SaaS 与一体的云平台,相比 salesforce,使用的技术要新一些,体验上要好一些,目前市值 1577 亿美元;
OutSystems:提供桌面 IDE,最近提供的 OutSystems AI 能够辅助模型设计,定位 hpaPaaS (low-code),作为后起之秀,表现不俗,已获得多轮融资,在 2018 年估值 10+ 亿美元,俨然成为下一个独角兽。
Google 和 Microsoft 老牌玩家玩 hpaPaaS 这一套相当得心应手,体验相当讲究,把自家的服务包括三方常用服务整合的非常好。
OutSystems 类似微软,提供多种流式编排,很多时候不需要写代码,同时也整合了非常多数据服务,比如 Swagger 的 OpenAPI。
Salesforce 和 SAP 类似,从单一的应用程序,到一套应用程序,到一个快速应用开发平台,企业协作工具,再到一个应用程序容器和数据库提供,提供了一套完整的生态链,以 SaaS、PaaS、IaaS 的分层方式对外输出。
高效整合才能降低成本,这是所有玩家的心智,不容质疑。
视角要放大,要能够覆盖 90% 场景,必须要构建一套完整的生态链,从 no-code 到 low-code 再到 pro-code 都要有对应的解决方案,且要做到互相之间能够打通,这是 Salesforce 和 SAP 给到的经验,目前 AppMaker 和 PowerApps 主要针对表单、表格垂直领域,还不能够玩大,单一领域视角解决的问题有限。
可视化的流式编排针对特定场景提效明显,应对稍微复杂一点的场景,一点也不好玩,比如 AppMaker 就粗暴一点,直接使用 SCRIPTS,书写表达式更舒服,不知道使用 OutSystems 的用户是什么感受。
纯前端思维,比如数据服务接入方式,缺少像 AppMaker/PowerApps 支持 DataConnectors 的统一数据接入层,和各个系统没有形成有效整合。
能解决的场景也有限,高度复杂的企业级 CRM 系统,不是通篇一律的,业务逻辑高度复杂,面临定制化考验,稍微复杂一点的,需要做的工作可能会更多,甚至有时候搞不定,没有享受到可视化搭建带来的福报。
很多专业开发在搭建平台施展不开才华,缺少专业级工具支持,比如 VSCode、Git。
不同角色之间不能有效的形成配合,比如后端数据接口,不能在可视化搭建工具中反射出来。
搭建页面大多以 Schema 形式存储,代码也不好 diff,在运行时动态渲染也会带来性能问题。
......
将不同场景所需要的能力进行分解、分层,最后通过能力的整合来应对,提升灵活变通能力;
同时有通用方案和兜底方案,多种方案之间应该遵循统一标准,是打通融合的。
进行业务建模,配置业务规则;
根据建立好的模型选择标准化 CRUD 模板,直接产出;
预览、发布。
将标准化生成的产物,以可视化编辑打开;
修改关联字段时间的格式化方式、新增用户信息块;
保存、预览、发布。
将标准化生成的产物在 WebIDE 中打开;
编辑视图,比如关联的动作,定位到对应动作代码,修改逻辑;
使用 WebIDE 提供的 git 功能,进行代码对比及代码提交;
保存、编译、预览、发布。
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 三者之间形成互通的必要条件。
能创造多少价值?
能活多久?
适合的土壤,大风向以及政策鼓励,有强烈市场需求;
持续标准化,标准化不是一个固定结果,而是一个动态过程,需要有一个进化机制,保证标准化的生态具有自洁能力,适应行业发展;
行业渗透,打通行业链路上下游,将标准、理念融入到行业各节点,能够反哺自己的生态,并有助于形成规模;
共同成长,带动行业成长,行业的成长就是自己的成长。
相关参考与链接
https://www.sap.cn/products/business-technology-platform.html
往期推荐
低代码框架X-series应用案例
双11技术总指挥汤兴:今年双11是技术和商业的完美共振
微软(中国)公司首席技术官:“无常态”下的新基建与数字化
200张表,单表记录过亿,10多年核心老系统的重构之旅
从十四五规划看企业数字化转型(PPT分享)
技术琐话
以分布式设计、架构、体系思想为基础,兼论研发相关的点点滴滴,不限于代码、质量体系和研发管理。本号由坐馆老司机技术团队维护。