1

正在尝试找出我应该使用哪一个(Pedestal、Hoplon、Bidi)?我在互联网上没有找到任何可以帮助我做出这个选择的好文章。

https://github.com/juxt/bidi我可以读到 Pedestal 是同构的,但 Bidi 也是 cljs。这是什么意思?有什么区别?

发现 compojure 太简单了。我什至不能在 HTML 模板中生成 URL。我开始寻找别的东西。我还发现了 route-one(生成与 compojure 一起使用的 URL 的库),但我想很快我会发现我需要的东西比 compojure 还要多。

我的直觉告诉我要选择:Pedestal、Hoplon 和 Bidi。

需要什么:我想要拥有独立的业务模型架构,例如

http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html

http://blog.find-method.de/index.php?/archives/209-Dependency-inversion-in-Clojure.html

我不想将这部分代码依赖于任何框架。更少的依赖更好。

在下一阶段,我想将这个模型业务注入到桥之类的东西中,这将是与用户界面的连接器。可能是框架或其他库的时候了。

至少我想创建前端用户界面作为网站。它将是 ClojureScript 的动态内容或可能是静态的。我不知道。我必须同时考虑这两个问题。

我在Clojure中发现了什么我真的很喜欢根据自己的喜好构建自己的库集的概念。但我不想编写自己的代码来使用诸如为路由生成 URL 之类的东西。所以也许我也应该考虑路线一?

写一些聪明的东西来帮助我选择一个或使我的生活复杂化并选择其他选项:)

https://github.com/juxt/bidi

https://github.com/pedestal/pedestal

https://github.com/tailrecursion/hoplon

https://github.com/clojurewerkz/route-one

4

1 回答 1

1

这是一个古老的问题,我不假装有答案(更不用说“答案”了)。但是我今晚正在谷歌搜索一些相同的基本作品,我的搜索结果返回了这个回复。

所以我想我会在这里记下我[非常]有限的理解。

比迪看起来很棒。据我所见,juxt 产生了非常高质量的软件。对于我需要 REST 风格的接口路由(包括发回相关路由)的地方,这是我目前的 GOTO 选择。

底座 - 也很棒。但这似乎是一个非常不同的用例。路由在这里是一个非常小的子集(他们已经尝试了多种方法来提出一组非常好的选项)。这似乎更像是一个相当低级的全功能服务器端库,用于将您关心的代码与您不关心的底层服务器部分集成在一起。

老实说,我不确定 Pedestal 的路由库是否真的支持 REST 所需的反向端点。我认为他们几乎肯定会这样做,但我并不肯定。我的用例都是关于它们的拦截器链接抽象,这真是太棒了。

Hoplon - 我已经有 2-3 年没有看过这个了。当时,它似乎是一个大型、大胆、高级的厨房水槽框架,与 Ruby On Rails 处于同一水平(尽管我认为也有前端组件)。我一直在编写 API 端点,当时这似乎不太合适。它值得比我给予它更多的关注。

路线一 - 在这个问题之前我没有听说过它。我从 clojurewerkz 中使用过的所有东西都给我留下了很好的印象,但是这种用法非常简单。

于 2017-10-08T05:35:28.810 回答