建设低代码平台从 1 到 n 的个人思考

前言

本文旨在探讨低代码平台在初步落地后,如何进一步建设的个人见解,而非涉及平台的建设过程。

假设我们已有基于 DSL(领域特定语言) 的低代码平台,该平台包含但不仅限于以下功能模块,如物料市场,视图编辑器,事件逻辑编辑器,基于 DSL 的渲染器,自动化发布部署等。

从 1 到 n 会遇到哪些问题

众所周知,从 0 到 1 去建设平台,主要关注于基础功能的实现和特定场景的满足,然而从 1 到 n 的过程中,我们需要更加关注平台的稳定性,易用性和其他相关指标。

那对于低代码平台,从 1 到 n,会有哪些问题呢?

  1. 用户上手成本:如何降低新用户的学习成本,使平台更易上手。
  2. 功能完善度:编辑器和物料市场的功能是否足够丰富,能否满足用户的多样化需求。
  3. 搭建页面的维护性:如何确保用户通过平台搭建的页面易于维护和更新。
  4. 用户搭建体验优化:搭建过程中的用户体验是否流畅,是否存在可以改进的地方。
  5. 渲染问题排查:当渲染出现问题时,如何高效地进行问题定位和解决。

问题远不止这些,但以上所述乃笔者亲身体验。

接下来,我们将逐一分析这些问题,并提出可能的解决方案(以下仅为个人观点)。

用户上手成本

通常用户在经过一定时间的学习后,能够搭建常规的页面,如表单表格的查询页面。当搭建复杂的页面时,需要搭建更多的配置以及相关配置联动,往往用户会去寻找平台的同学进行询问,"这个需求是否在平台能支持配置","为什么配置了这个功能点但不生效"等等类似的问题。对于"不会配置","配置了不生效"等问题。

常规方式是提供值班答疑服务,详尽的功能文档,组织培训等等。

注:在具体的实践中,也没什么有效的方式去解决上手成本,但用户长时间的使用低代码平台会减少此类问题的发生

物料完善度

核心在于业务需求是变化的,物料能提供的功能是有限的。在有限的情况下去满足无限的场景,显然是不可能的。对于这点,要么确定平台的适用场景,提供适用场景所需的功能;要么平台提供扩展能力,如用户发布自定义物料到物料市场等。

但实际上平台的物料功能应满足大多数常规的业务场景,物料提供对应组件自身 props 的配置。但这会遇到一类问题,组件的 props 接收组件、函数做视图的渲染,即"如何在平台上搭建组件内部渲染另个组件,方法渲染组件呢"(如表格列的自定义渲染)。会涉及到平台的建设思路,是支持写代码,或是提供强大的配置能力,还是两者皆有。

搭建页面的维护性

基于 DSL 的低码搭建有个严重的问题,搭建的内容太分散了,后期不好维护。

在具体的实践中,对于一个复杂的页面,无法直接确定"哪个元素的哪个方法上有哪些逻辑","哪些接口被哪个事件调用了","哪些按钮的点击事件影响到另外的元素的状态变化"等等。

目前的有效方式是对 DSL 进行拆解,产出一份数字化文档,并基于 DSL 生成代码供用户查看。提供全文搜索的功能,帮助用户快速定位并修改页面元素和逻辑。

用户搭建体验优化

在搭建复杂的页面,涉及到上百个元素搭建,几十个元素的事件逻辑编排,会非常影响用户的搭建体验以及搭建效率。

但这是一件长期的任务,需要平台在完成初步的建设后,通过收集和分析用户行为数据,不断优化平台的操作流程和交互设计,提升用户体验。

渲染问题排查

很多时候,用户(包含前端同学和非前端同学)会拿着一个简单的问题找到平台同学进行提问,可能这个问题是配置错了,逻辑代码写的错了,变量没定义之类的。那应该怎么解决呢。

平台应提供详细的错误提示和日志记录功能,帮助用户快速定位问题所在。以及全局数据流状态可视化工具,让用户能够直观地了解页面数据的流动情况,便于问题的排查和解决,此外其他有效的方式或工具。

总结

从 0 到 1 去建设低代码平台是相对轻松的,更重要的是从 1 到 n 的建设。虽然其中会遇到很多问题,但相信问题总是能解决的。

相关推荐
栈老师不回家7 分钟前
Vue 计算属性和监听器
前端·javascript·vue.js
前端啊龙13 分钟前
用vue3封装丶高仿element-plus里面的日期联级选择器,日期选择器
前端·javascript·vue.js
一颗松鼠17 分钟前
JavaScript 闭包是什么?简单到看完就理解!
开发语言·前端·javascript·ecmascript
小远yyds37 分钟前
前端Web用户 token 持久化
开发语言·前端·javascript·vue.js
吕彬-前端2 小时前
使用vite+react+ts+Ant Design开发后台管理项目(五)
前端·javascript·react.js
学前端的小朱2 小时前
Redux的简介及其在React中的应用
前端·javascript·react.js·redux·store
guai_guai_guai2 小时前
uniapp
前端·javascript·vue.js·uni-app
bysking3 小时前
【前端-组件】定义行分组的表格表单实现-bysking
前端·react.js
王哲晓3 小时前
第三十章 章节练习商品列表组件封装
前端·javascript·vue.js
fg_4113 小时前
无网络安装ionic和运行
前端·npm