可视化建站结合lowcode的一点思考
背景:面对日益增多的如营销、活动h5建站需求,需要提供一个强大且易用的可视化建站平台。
出发点:从两方面来看,第一方面,项目往往具备本质复杂度和偶然复杂度,对于需要快速建站的某一类业务场景,本质复杂度理论上不变的,仅仅需要满足相应的业务需求。但偶然复杂度则体现在对于本质复杂度的复制粘贴的粘贴过程,这部分往往是没有用的。如果能够简化开发者的开发难度,让其成为一个快速建站平台。将大大减少开发人员的工作量。
如何去实践?
第一阶段(满足业务作为出发点):结合具体业务实现一个可视化拖拽的建站系统,提供特定的组件资源(多为业务组件),业务耦合,专门为该业务而定制的。
-
项目的开发、维护人员,并可能通过培训一些具备基础技术的人员的方式来推广该系统。***面向用户***: -
(1)项目使用成本高,实际上使用者仍为系统开发者; (2)组件、业务写在代码里面,过度耦合; (3)不够强大、灵活。***弊端***: -
(1)面对特定业务场景下的建站需求,能快速反应,提高开发效率; (2)快速投入使用,收取反馈。***好处***:
- 第二阶段(扩展、基础设施下沉作为出发点):基于第一阶段开发的系统做进一步抽象,将其融入渐进式思想,向lowcode平台迈进。主要表现为基础设施下沉,让底座更厚,能力更强大和便捷。
-
组件抽象 通过各类配置(脚本动画属性)及自定义组件来实现从特定业务系统到基础lowcode平台的转变(分类是广度,而配置是深度),包括以下两方面; (1)组件分类:分为各类平台既有组件、NPM配置引入组件和组件仓库中的组件,决定了整个平台的能力;(广度) (2)可视化组件配置:分为基本属性(样式、内容)、动画、动作、脚本和数据源,从深度和广度两个维度开始扩展。(深度)
-
数据源管理 分为外部接口及系统内部数据,每个api服务一定程度上独立成为一个服务,不再耦合在原有系统里面,由数据源的方式来满足其能力。 xss等随之而来的问题也会催生出站点的安全策略问题,如何控制。第三方cookie等都会有问题。
-
面向用户 一类是普通的业务方,比如营销,活动类的业务(好处是能够快速的提供一些h5落地页的服务,但他们只能使用既有组件)一类是经过一定培训的管理员,能够满足自我建站、维护站点的需要,第三类为具备开发能力的开发人员,作为lowcode平台中具备编写自定义代码的人员。
-
好处
-
(1)技术复杂度分离;基础设施下沉,达到强大易用;
-
(2)关注点分离,开发者的关注重心,从复制粘贴转换到基础设施完善。
- 第三阶段(强大,易用作为出发点) 最后一阶段,全面扩展,安全性,监控、云函数方向(待扩展)
疑问: 1.如果作为一个仅仅为了改变几个人的开发体验的平台,实际上是没有意义的; 2.业务收益来源于哪些地方