「可视化搭建系统」——从设计到架构,探索前端领域技术和业务价值

本文探讨了前端「可视化搭建系统」的发展与价值,结合编辑器技术实现页面搭建平台,从Markdown编辑器到Draft.js富文本编辑器的创新实践。系统分析了数据结构设计、插件化、多数据源支持和用户体验优化等方面,旨在提升运营效率,同时解决历史数据兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阿里巴巴集团前端委员会主席 圆心:未来前端的机会在哪里 对前端未来期许有四点:搭建服务, Serverless,智能化,IDE。仔细想想,一个「可视化搭建系统」的想象空间,正能完美命中这些方面。前端的边界在哪里,对于业务的价值又在哪里,我们不妨静下来,一起从知乎会员事业部前端实现「可视化搭建系统」的过去和现在,以及未来规划去思考。

—— 有人说前端「可视化搭建系统」说到底只是重复造轮子产生的玩具;有人说前端「可视化搭建系统」本质是组件枚举,毫无意义。片面的认知必有其产生道理,但我们不妨从更高的角度出发,并真切落地实践,也许你会发现:作为 FEer,我们能做的事情也许更多。

页面搭建技术流派概览和彩蛋放送

据我观察“几乎每一个前端团队,都会有一个页面搭建系统”。页面搭建技术是一个老生常谈的话题,可这个话题伴随着前端技术的发展,历久弥新。究其原因,包括但不限于:

  • 运营活动页面对于产品业务至关重要,是吸引流量、提高留存的关键手段

  • 高频且重复度较高的活动页面开发,对于前端意味着大量的时间和人力成本消耗 在此背景下,快速页面搭建技术就显得尤为重要。

由于每个产品业务的特点、运营需求和设计规范不尽相同,因此页面搭建平台就出现了“百花齐放,百家争鸣”的局面。我们在“闭门造车”的同时,博览众家之长,对比归纳,持续优化。为此,我们分析了社区上几乎所有开源产品和方案,包括但不限于:

  • 百度 H5

  • iH5

  • 转转魔方平台

  • 百度外卖页面配置平台:Blocks

  • 携程乐高系统

  • 人人贷活动运营平台

  • 新版微信编辑器

  • 鲁班H5

  • 阿里云凤蝶

  • MAKA

  • 码良平台

  • grapes

  • 可视化布局 bootcss

  • 民间方案:pipeline-editor

  • 一个国外的民间方案:vvvebjs 相关技术分析文章:

  • 页面可视化搭建工具前生今世

  • 页面可视化搭建工具技术要点

  • QQ会员活动运营平台演变和技术实践——高效活动运营

  • 积木系统,将运营系统做到极致

  • 活动运营自动化平台实践

  • 可视化搭建前端工程 - 阿里飞冰了解一下

  • 飞冰对于活动引擎的可借鉴之处

  • 前端工程实践之可视化搭建系统

  • 如何设计高扩展的在线网页制作平台

  • 鲁班H5作者:@小小鲁班

  • 厌倦了写活动页?快来撸一个页面生成器吧!其特点和技术方向可以各有特点,但总体可以归纳为以下图示:

d02bad1e219d09a22475a024a7cc0147.png

按照目标受众,可区分:

b84c406f59d9897078a3c8a0b86cde96.png

我们也从海量优秀方案中总结出解决这一类运营需求的通用手段:将复杂页面的搭建抽象成结构化数据,由结构数据驱动组件/模版的拼装。简单的这样一句话很好理解,按照这样的想法也能构建出一个可用的平台,但能否更进一步,想在技术和业务上突破瓶颈,还需要打通更多环节:

  • 结构化数据如何设计才能兼顾优雅和高性能,且天然支持活动编辑时的“时光旅行 Redo/Undo”功能

  • 如何平衡页面的自由发挥度和规范统一度

  • 如何突破原始模版引擎,借力框架(React、Vue 等)组件化思想,并做到 framework free

  • 如何优雅实现专题模版功能,一键导入功能以及插拔式编辑

  • 如何贴合自身业务特点,平衡实用性、适用性和可扩展性

  • 如何不断持续迭代,以适应新的需求发展

  • 如何借助社区的力量,做大做强

  • 如何最大化发挥可配置,如何最大化方便接入方扩展

  • 如何避免组件枚举堆积的混乱 业界已有方案中,有的较好地解决了这些关键点中一个或多个问题,有的更像是一个练手的玩具。请读者继续阅读,接下来我将介绍「结合编辑器技术的页面搭建平台」思路,整体如下图:

58a9e803d33d7b708bb076bf9e9dbde7.png

当编辑器技术遇见页面搭建需求

让我们先回到一个宽泛而有趣的问题上:“前端开发的难点到底在什么地方?”。

在这个问题下,我的好友,前淘宝工程师 @于江水提到两个点:

  • 业务逻辑很复杂而且多变

  • 垂直领域解决方案并不简单 这里对其答案进行简单扩展,原答案可参考:于江水的回答。顺着这个思路我们来分析,前面提到的运营活动页面——单纯开发这些页面难度其实不高。但是对于前端团队来说,如果高频多变的运营需求在短时间内集中爆发,那么就成了一个系统性的问题了。比如极端情况:对于淘宝双十一、京东大促,简单地堆人堆时间也只是杯水车薪。于是诞生了页面搭建平台。

这样一个平台涉及到的技术点是网状的:比如涉及到开发工具链、数据结构设计、渲染器和交互设计、数据源导入、页面编译构建、页面生成、代码发布、活动发布、版本管理、在线运营管理、权限管理、可视化“所见即所得”实现、后端存储、CDN 同步、数据打点和统计、数据分析等。后续结合平台化能力,也会涉及到组件市场的设计,甚至 serverless,no/low code 技术。

而作为垂直领域一个不可忽视的方向——编辑器开发,技术难度只会更高:除了编辑器本身的各种功能实现外,还需要兼顾兼容性,更要适应业务需求。同时,编辑器就是生产工具,任何一个中后台系统似乎都必不可少,需求市场上,不管是石墨文档、钉钉文档、头条飞书等都有着广泛而强烈的需求。该领域值得深耕而优秀开发专家却凤毛麟角。

为了解决「可视化搭建系统」,我们尝试把一个上述「复杂的业务平台」和「垂直领域的富文本开发」这两大难题结合起来,打造一个功能强大的编辑器,同时完成页面搭建平台的工作——这听上去虽然是“难上加难”,但似乎两大方向的融合是一种美妙的思路和创新。

具体来说,编辑器除了支持传统富文本功能以外,需要加入对业务功能区块的支持,这时候在数据结构上,选用 JSON base 的存储方式:传统富文本区块以 JSON 字段存储富文本内容,其它复合型自定义业务区块存储为 JSON 对象结构。在此基础上,我们实现对该 JSON 对象结构的解析,实现编辑器内“所见即所得”。

这里单独说一下富文本之外的“复合型自定义业务区块”。我们知道最终搭建出来的页面将会充满各种 Sku 商品、自定义组件、用户卡片等区块,最终这些内容的输出需要被 C 端渲染器所理解、所解析。

我们来结合下图,进一步说明:

9cd832f38515b212020ffcd41835d68f.png区块 1 是传统富文本内容,区块 2 是一个复合型自定义业务区块——Sku 卡片,区块 3 是另一个复合型自定义业务区块——用户卡片。这样一来编辑器不再是一个单一的富文本编辑器,而是最终输出内容为复杂 JSON 类型的多功能编辑器。

不同业务场景、特点,需要完全不同的前端解决方案,在开发这些垂直解决方案的时候,业务分析、技术选型、架构设计、开发落地是非常难的。接下来,就让我们一步步探索,一步步实现一个基于并兼顾编辑器技术的多功能的页面搭建平台。

灵活强大的 Markdown 编辑器和页面搭建创新尝试

我相信现如今没有程序员不知道 Markdown,它对程序员或者所有互联网从业人员来说都非常友好。简单说,Markdown 是一种轻量级标记语言,它允许我们使用易读易写的纯文本格式编写文档。现如今许多网站都广泛使用 Markdown 来撰写帮助文档或是用它来在社区上发表消息。比如:GitHub、Wikipedia、简书、reddit 等。

除了易于编写,Markdown 的可扩展性和可转换性也是它收到追捧的重要原因。也正因为如此,我们初期的运营活动页面搭建就是基于 Markdown 编辑器实施的。具体流程如图:

00df8c3e325dc1a1139f6de7ecc54d52.png

当然这只是一个非常粗略简易版的流程示意图,接下来我将分:

  • Markdown 扩展和自定义解析器

  • 完善使用体验,打造页面生成能力 两个方面进行详细解释。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值