与其他Clojure Web框架相比,Pedestal具有哪些功能?

What features does Pedestal have compared to other Clojure web frameworks?

最近,Relevance宣布了Pedestal,这是Clojure的新Web框架。

在功能,易于开发的应用程序,开发人员工具等方面,此框架与其他Clojure Web框架(如Compojure,Webjure,Conjure,Mustache等)相比如何?

请参见Clojure Web框架比较


我的观点是,Pedestal不仅是功能集,更是从架构角度将关注点分离:

  • 服务器端和客户端的Clojure(通过ClojureScript)允许您将代码(以及逻辑)放在最有意义的位置
  • 通过拦截器抽象将http请求与服务器中的特定线程解耦
  • 将应用程序逻辑与呈现关注点分离
  • 通过数据流在应用程序中呈现状态更改的呈现控件

这些东西在应用程序的生命周期中具有很大的优势。话虽如此,它是Alpha级别,并且可能会发生变化,并且通过数据流进行的控制有些不同,因此像任何新事物一样,都有学习曲线。

如果您查看文档并在此处收听播客,则可以清除很多内容。希望有帮助。


另一件事是,与Ring相比,Pedestal允许在多个线程中处理一个请求。其与Ring兼容的拦截器模型允许以下操作:http://pedestal.io/documentation/service-interceptors/


据我所知,Pedestal是唯一在服务器端和客户端都方便使用Clojure的框架,这要归功于Clojurescript。


作为Cloclore on Coils的作者,我实际上会说Pedestal现在是一个比较安全的选择,因为Clojure on Coils的主要功能(回溯代码)尚未准备好。回溯代码意味着您可以单击网页上的一个元素,它可以向您显示构建该元素的整个调用堆栈和代码树(现在,它仅向您显示生成HTML的代码,并且不会更深入)。

更新资料

回溯代码现已实现