clojure/clojurescript形式的通用CRUD有什么功能吗



因此,理想情况下,在我看来,基于单个模式定义,我应该能够在web上下文中完全生成完整的创建-读取-更新-删除(CRUD),即:

  • 客户端:用于操作的交互式HTML数据表组件,可能具有内联编辑等功能
  • 客户端:用于编辑单个记录的表单组件,包括从模式推导出的验证
  • 服务器:访问用于填充和更新所述组件的数据的路由(REST端点)
  • server:一种将数据持久化在SQL表中的实现

理想情况下;我只需要为Person数据类型定义一个模式,比如说,包含名称、姓氏和地址字段,然后调用像(defcrud Person my-person-schema)这样的宏或函数,它就可以工作了,我可以访问网页,查看数据表,编辑/删除数据,并将数据一直保存到服务器。

我的问题是:在clojure世界里,有没有什么东西会做上面描述的事情(或部分)?

在我最近的第一个完整的clj/cljs项目中,我发现自己为这些基本的东西写了很多代码。在过去,当我使用一个名为SmartGWT的GWT框架时,我只需要定义一个new ListGrid(myDataSource),定义一个数据源(相当于模式),其余的都是推断出来的(至少有一些合理的默认值)。

SmartGWT的高级别开发使我能够为经常需要构建的业务应用程序进行真正的快速原型设计。GWT也有自己的缺点,比如大型应用程序的编译时间非常慢,而且我必须编写Java,但这是我在Clojure中寻找的开箱即用的服务器-客户端集成级别。

免责声明,我是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分钟左右开始。

有closp和closp crud。这将带你走一段路。

最新更新