clojure / clojurescript 形式的通用 CRUD 是否有任何内容
Is there anything for generic CRUD in clojure / clojurescript forms
因此,理想情况下,在我看来,基于单个 schema 定义,我应该能够在网络上下文中完全生成完整的创建读取更新删除 (CRUD),即:
- 客户端:用于操作的交互式 HTML 数据 table 组件,可能带有内联编辑等
- 客户端:用于编辑单个记录的表单组件,包括从架构中推导出的验证
- 服务器:访问用于填充和更新所述组件的数据的路由(REST 端点)
- 服务器:用于持久化数据的实现,例如 SQL table.
太理想了;我只是定义一个模式,比如说,一个带有姓名和地址字段的 Person 数据类型,然后调用一个宏或像 (defcrud Person my-person-schema)
这样的函数并且它有效,我可以去一个网页,查看数据table, edit/delete数据,一路保存数据到服务器。
我的问题是:clojure 世界中是否有任何东西可以(或部分地)执行上述操作?
在我最近的第一个完整 clj/cljs 项目中,我发现自己为此基本内容编写了大量代码。在过去,当我使用一个名为 SmartGWT 的 GWT 框架时,我只需要定义一个 new ListGrid(myDataSource)
,并定义一个数据源(相当于模式),剩下的就是推断(至少是一些东西合理的默认值是)。
SmartGWT 那种高水平的开发能够为我经常需要构建的业务应用程序实现真正的快速原型设计。 GWT 有其自身的缺点,例如大型应用程序的编译时间非常慢,而且我必须编写 Java,但这是我正在寻找的开箱即用的服务器-客户端集成级别在 Clojure 中。
有closp and closp-crud个。那将带你走一段路。
免责声明,我是closp-crud的作者。
首先,感谢@mac 对我的图书馆的暗示。
其次,您所要求的正是我想要实现的,但方式不同。
我讨厌当你做推理代码之类的事情时发生的所有魔法。所以我的方法不同之处在于所有代码:
- html 模板
- 路线
- 迁移
- 数据库访问
已生成,之后可以完全更改。
当然这还有其他缺点,但我会很乐意接受。
也就是说,文档仍然缺乏,我从上周开始了一项激励措施:http://closp.net,并将继续努力。
如果你需要的话,我不妨接下来为 closp-crud 添加文档。
除此之外,我在前两天制作了一个介绍视频:https://www.livecoding.tv/sveri/videos/wrnL1-clojure-closp-webframework-41 以非常基本的方式展示了 closp 和 closp-crud 的用法。
closp-crud 的使用大约在 12 分钟后开始。
因此,理想情况下,在我看来,基于单个 schema 定义,我应该能够在网络上下文中完全生成完整的创建读取更新删除 (CRUD),即:
- 客户端:用于操作的交互式 HTML 数据 table 组件,可能带有内联编辑等
- 客户端:用于编辑单个记录的表单组件,包括从架构中推导出的验证
- 服务器:访问用于填充和更新所述组件的数据的路由(REST 端点)
- 服务器:用于持久化数据的实现,例如 SQL table.
太理想了;我只是定义一个模式,比如说,一个带有姓名和地址字段的 Person 数据类型,然后调用一个宏或像 (defcrud Person my-person-schema)
这样的函数并且它有效,我可以去一个网页,查看数据table, edit/delete数据,一路保存数据到服务器。
我的问题是:clojure 世界中是否有任何东西可以(或部分地)执行上述操作?
在我最近的第一个完整 clj/cljs 项目中,我发现自己为此基本内容编写了大量代码。在过去,当我使用一个名为 SmartGWT 的 GWT 框架时,我只需要定义一个 new ListGrid(myDataSource)
,并定义一个数据源(相当于模式),剩下的就是推断(至少是一些东西合理的默认值是)。
SmartGWT 那种高水平的开发能够为我经常需要构建的业务应用程序实现真正的快速原型设计。 GWT 有其自身的缺点,例如大型应用程序的编译时间非常慢,而且我必须编写 Java,但这是我正在寻找的开箱即用的服务器-客户端集成级别在 Clojure 中。
有closp and closp-crud个。那将带你走一段路。
免责声明,我是closp-crud的作者。
首先,感谢@mac 对我的图书馆的暗示。
其次,您所要求的正是我想要实现的,但方式不同。 我讨厌当你做推理代码之类的事情时发生的所有魔法。所以我的方法不同之处在于所有代码:
- html 模板
- 路线
- 迁移
- 数据库访问
已生成,之后可以完全更改。
当然这还有其他缺点,但我会很乐意接受。
也就是说,文档仍然缺乏,我从上周开始了一项激励措施:http://closp.net,并将继续努力。
如果你需要的话,我不妨接下来为 closp-crud 添加文档。
除此之外,我在前两天制作了一个介绍视频:https://www.livecoding.tv/sveri/videos/wrnL1-clojure-closp-webframework-41 以非常基本的方式展示了 closp 和 closp-crud 的用法。
closp-crud 的使用大约在 12 分钟后开始。