现代的网页前端技术,基本都是以开发 Web 组件为基础的。写了很多个组件后,就会自然而然想把页面抽象出来。amis 和 lowdefy 就是这类技术,把 Recat 一个组件的状态,事件都对应成 JSON 里一个子节点。
然后为每一个节点添加 JSON Schema Definition,建立节点规范。最后像搭积木一样,把一整套网页搭建起来。
以前也有这种页面的简单抽象,一般都是用于提交表单的配置。可现在随着 MVVM 理念的发展,UI 已经可以和 JSON 内部的数据进行互动了。也就是 JSON 逐渐脱离传统意义的"配置文件",变成了类似虚拟 DOM,数值会和界面产生联动的状态树。
百度开源的主项目地址: https://baidu.gitee.io/amis