14|编辑历史:是对Git做改造,还是另辟蹊径?
陈旭
你好,我是陈旭,今天来聊聊低代码编辑器的编辑历史。人生没有后悔药,但在计算机世界里,编辑历史就是后悔药,不但常见,而且非常廉价。
多数编辑器,如代码编辑器,或者我正在码字的编辑器,都会配备最普通的编辑历史管理功能。你可以从近到远地撤销(Undo)掉所做的修改。如果撤销了之后,没有做过任何编辑操作,还可以重做(Redo)这些修改,即撤销掉撤销操作。一般在撤销之后,又做了任何操作了,那么所有重做的历史记录都被删除。示意图如下:
编辑历史是一个非常重要且友好的功能,它最主要的目的是鼓励应用开发勇于试错。开发的过程,就是一个不停试错的过程,试错成本越低越好。
作为低代码编辑器,我们同样也要支持上面提到的基本历史管理功能。不仅如此,还要更进一步,支持历史记录多分支功能。比如前面的示意图就是这样,第 3 步重新编辑后,得到了编辑记录 2,此时,编辑器会把记录 1 丢掉,目的是要维持历史记录的单向性。不丢弃记录 1,并且允许该记录继续编辑下去,就会形成历史记录多分支的情形,这和 Git 的分支非常相似。
做过程序开发的都会用到 Git,程序员们看中 Git 的最主要一点就是它强大便捷的分支管理。低代码编辑器作为一个开发工具,对多历史记录分支的支持也是必要的。所以今天这讲,我们就来说说低代码编辑器的编辑历史功能怎么实现。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了低代码编辑器的编辑历史功能实现方式,包括基本编辑历史功能和多分支编辑历史功能。作者介绍了在低代码平台中使用Git的限制和解决方案,并简要描述了低代码平台Awade的编辑历史实现方式,包括基于全量数据的存储和双向链表结构。文章还讨论了前端侧的实现,包括如何实现分支管理的可视化。最后,文章提到了编辑历史分支的合并问题,指出采用Git的方案可以直接使用Git的分支管理能力,而采用Awade的方案则需要进一步说明。整体而言,本文为开发者提供了有益的技术参考,深入浅出地介绍了编辑历史功能的实现方式。 在今天的讲述中,我们解决了低代码编辑器的编辑历史功能,从基本的撤销、重做功能到多分支编辑历史的实现。多分支编辑历史对于低代码编辑器是必要的,它不仅降低了应用团队试错的成本,还帮助进行应用版本管理。我们采用了两种后台实现方法,Awade采用基于文件IO的方式,而另一种是基于Git的方式。无论后台采用哪种方式实现,从应用开发人员的角度看,在前端的可视化分支管理功能的实现上,Awade和Git这两个方案没有区别。但需要注意,如果后台采用的是Git,切勿掉入可视化管理功能为了Git而Git的误区。支持多分支编辑历史的功能是低代码编辑器具有代码托管能力的一种体现,它还需要承担更多的代码托管功能。除了帮助应用试错和版本管理之外,多分支编辑历史还需要承担其他代码托管的功能,这需要进一步探讨。 这篇文章为开发者提供了深入的技术参考,介绍了编辑历史功能的实现方式,对于低代码编辑器的开发具有重要的指导意义。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《说透低代码》,新⼈⾸单¥59
《说透低代码》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- ifelse学习打卡2023-02-25归属地:浙江1
- 点滴通篇看完后一直几个疑问 1、在编辑态时渲染的页面通过schema 生成TS文件,在运行的吗?还是通过模拟器运行schema文件? 2、生成了APP的源码,是脱离低代码平台运行的。那是不是虽然可以修改但是也不逆的,那生成代码的意义是什么呢?2022-04-141
- 一叉树思考题:还可以提供具体到用户的历史记录。在 git 中我们可以具体看到一行代码是哪位用户在什么时候修改的。在低代码编辑器,也能看到具体一个组件是哪位同事在哪个时间修改的。2022-04-26
- 大明原以为Git只能管理源代码版本的工具,没想到还可以有这种用法,做为其他软件的后台核心组件。2022-04-15
- 北方大牛讲课,面面俱到2022-04-13
收起评论