> client:用于操作的交互式HTML数据表组件,可能具有内联编辑等.
> client:用于编辑单个记录的表单组件,包括从架构推导出的验证
> server:访问数据以填充和更新所述组件的路径(REST端点)
> server:用于将数据保存在sql表中的实现.
理想情况下;我只是为具有名称和姓氏和地址字段的Person数据类型定义一个模式,然后调用一个宏或函数(defcrud Person my-person-schema),它可以工作,我可以去一个网页,查看数据表,编辑/删除数据,并将数据一直保存到服务器.
我的问题是:在clojure世界中是否有任何东西(或部分)如上所述?
在我最近的第一个完整的clj / cljs项目中,我发现自己为这些基本内容编写了大量代码.在过去,当我使用名为SmartGWT的GWT框架时,我只需要定义一个新的ListGrid(myDataSource),并定义一个数据源(相当于模式),其余的被推断出来(至少有一些合理的默认值是).
SmartGWT的高级开发能够为我需要经常构建的业务应用程序实现真正的快速原型设计. GWT有它自己的缺点,比如更大的应用程序的编译时间非常慢,而且我必须编写Java,但它是我在Clojure中寻找的服务器 – 客户端集成的开箱即用水平.
解决方法
首先,感谢@mac暗示我的图书馆.
其次,你所要求的正是我想要实现的目标,但却以不同的方式.
我讨厌当你做推断代码之类的事情时发生的所有魔法.所以我的方法与所有代码不同:
> HTML模板
>路线
>迁移
> db访问
生成后可以完全更改.
当然这有其他缺点,但我很乐意接受它们.
也就是说,文档仍然缺乏,我上周开始激励:http://closp.net,并将继续努力.
如果你需要的话,我不妨为closp-crud添加文档.
除此之外,我在两天前制作了一个介绍性视频:https://www.livecoding.tv/sveri/videos/wrnL1-clojure-closp-webframework-41,它以非常基本的方式显示了closp和closp-crud的用法.closp-crud的使用开始大约12分钟.