Awesome
如果您对此项目感兴趣欢迎 star,如果您对有问题和建议欢迎 issues
通过接口生成一切
我们程序员每天都跟代码打交道,前端程序员coding, 后端程序员coding。 然而我们经常做重复性工作或者复制粘贴,或者前后端因为接口变动扯皮。 为了解决这些问题我打算通过接口生成代码。
为什么通过接口生成一切
任何语言都是在跟数据打交道
- 在web前端html用来展现数据,javascript处理数据
- go、java、php、nodejs等后端语言都在处理前端给的数据,或者给前端的数据
- mysql、oracle、mongodb、postsql等数据库用来存储数据
接口是前后端通讯的桥梁
接口可以约定json格式
- json易于人阅读和编写
- json易于机器解析和生成
我理想的目标
- 根据接口一键生成一套前可运行后端接口方案
- 不改变我的开发方式
- 低门槛轻松上手
- 可视化配置
- 如果是web页面所见即所得
- 有丰富的项目脚手架方便二次开发
- 生成接口文档
如何实现这些目标
- 我们把每个文件都看做一个大模版,而这个大模版又有多个小模版组成,小模版我们把它叫做组件,组件又有组件属性,这样就组成了一个component tree,而接口本省又是个data tree, 两者渲染成最终我们想要的文件,这里模版引擎我们用了unjuncks
- 接口使用hjson我通过注释表明这个字段对应的组件类型mock数据。 hjson和jsonSchema相互转换,这样我就可以使用jsonSchema进行可视化配置
- 通过jsonSchema配置字段对应的组件和定制组件扩展信息
- 配置完即可动态渲染实时得到渲染结果, 如果是web页面我们可以iframe在区块内实时预览
- 定制可服用模版和组件, 这样我们就可以定制各种页面
- 通过把组件生成可动态配置的组件文件,然后把配置组件属性通过postMessage传递给iframe页进行实时修改
- 把我们最佳项目实践直接做为脚手架,通用的文件设置为模版,或分隔多个小组件
在线运行太慢,或者网上代码不安全
- 使用辅助工具,直接把渲染结果输出到本地,同时调用git命令保存修改文件,方便查看修改记录或回滚