Skip to content
/ gen Public

Gen是根据接口生成页面,减少重复性工作! 目标让用户快速搭建Web App

License

Notifications You must be signed in to change notification settings

genany/gen

Repository files navigation

如果您对此项目感兴趣欢迎 star,如果您对有问题和建议欢迎 issues

通过接口生成一切


我们程序员每天都跟代码打交道,前端程序员coding, 后端程序员coding。 然而我们经常做重复性工作或者复制粘贴,或者前后端因为接口变动扯皮。 为了解决这些问题我打算通过接口生成代码。

为什么通过接口生成一切

任何语言都是在跟数据打交道

  1. 在web前端html用来展现数据,javascript处理数据
  2. go、java、php、nodejs等后端语言都在处理前端给的数据,或者给前端的数据
  3. mysql、oracle、mongodb、postsql等数据库用来存储数据

接口是前后端通讯的桥梁

接口可以约定json格式

  1. json易于人阅读和编写
  2. json易于机器解析和生成

我理想的目标

  1. 根据接口一键生成一套前可运行后端接口方案
  2. 不改变我的开发方式
  3. 低门槛轻松上手
  4. 可视化配置
  5. 如果是web页面所见即所得
  6. 有丰富的项目脚手架方便二次开发
  7. 生成接口文档

如何实现这些目标

  1. 我们把每个文件都看做一个大模版,而这个大模版又有多个小模版组成,小模版我们把它叫做组件,组件又有组件属性,这样就组成了一个component tree,而接口本省又是个data tree, 两者渲染成最终我们想要的文件,这里模版引擎我们用了unjuncks
  2. 接口使用hjson我通过注释表明这个字段对应的组件类型mock数据。 hjson和jsonSchema相互转换,这样我就可以使用jsonSchema进行可视化配置
  3. 通过jsonSchema配置字段对应的组件和定制组件扩展信息
  4. 配置完即可动态渲染实时得到渲染结果, 如果是web页面我们可以iframe在区块内实时预览
  5. 定制可服用模版和组件, 这样我们就可以定制各种页面
  6. 通过把组件生成可动态配置的组件文件,然后把配置组件属性通过postMessage传递给iframe页进行实时修改
  7. 把我们最佳项目实践直接做为脚手架,通用的文件设置为模版,或分隔多个小组件

在线运行太慢,或者网上代码不安全

  1. 使用辅助工具,直接把渲染结果输出到本地,同时调用git命令保存修改文件,方便查看修改记录或回滚

扩展字段

About

Gen是根据接口生成页面,减少重复性工作! 目标让用户快速搭建Web App

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published