简介
由于自己参与过低代码平台开发,所以希望能把我自己开发低代码中遇到的问题或者一些设计思路进行总结汇总,这是开始写的第一篇,也是比较基础的一篇,关于低代码平台的介绍会放在介绍篇章,这篇就不做过多介绍。
这里为什么会一开始介绍js沙箱设计呢?
因为低代码平台,会运行用户本身自己编写的业务逻辑代码,这里就需要平台去运行用户写的js代码,但是js代码保存到数据库是一个字符串,那么平台应该怎么运行呢?
答案是js沙箱,那么如何设计一个沙箱呢?按照低代码平台的需要特性,主要以下几方面:
- 隔离,隔离是为了保证当前执行代码不影响整个平台的代码
- 插入,沙箱允许插入平台的内置对象
- 容错,沙箱内代码即使有错误,也不影响整个平台执行