Clojure网页框架用于响应式应用程序

7
我最近继承了一个未完成的基于Clojure编写的Web应用程序,基本上是基于compojure和hiccup。 它试图模拟某种MVC,但采用面向对象风格而非函数式风格,如此处所示。 因此,我打算重新启动项目并重用有用的部分。 我考虑以下几种选择:

最少破坏性的选择是Compojure+Enlive+jquery-pjax

使用像Pedestal这样的Clojure Web框架。 有关此方面的任何经验吗?

最初的想法是实现提供JSON的RESTful API,因此对于更加详细的解决方案,我考虑在前端使用Backbone + react.js,在后端使用Liberator,但这可能需要比传统的服务器应用程序开发更长的时间。

请考虑Ajax体验的想法和替代方案,谢谢!


2
对于前端,您可能想考虑使用David Nolen的ClojureScript+OM(基于React)。请查看创建者的这篇有见地的博客文章http://swannodette.github.io/2013/12/17/the-future-of-javascript-mvcs/以获取更多信息。 - rene_gr
谢谢rene_gr,我已经知道OM了,顺便说一下,它很棒。但我们想用Javascript编写客户端。 - Jaime Agudo
在意识到大多数可用的版本都是在Ring+Compojure基础上选择的库之后,认真考虑http://www.luminusweb.net/。竞争对手实际上是Luminus和Caribou,我很想听听作者或有使用这两个框架开发生产应用经验的人的比较。 - Jaime Agudo
1个回答

5

我不确定你文章中RESTful API和响应式之间的关系是什么。然而......

你有多种选择:Pedestal、Liberator和Caribou
如果你只需要一个RESTful API,那么我认为Liberator是你最好的选择,它不会像你提到的那样花费更长的时间。我不知道你是怎么得出这个印象的。

Pedestal适用于开发单页应用程序,但总体框架需要一定的时间来掌握和理解它的工作原理。

也可以看看Caribou。它易于使用并且感觉熟悉。

但再次强调,这是你的选择。


1
谢谢!Caribou似乎设计得相当不错。我想知道是否有人在集成https://github.com/cgrand/enlive模板方面有经验。关于时间考虑,我打算使用一个完全解耦的前端框架,比如Backbone.js或其他类似的框架。 - Jaime Agudo
@JamesSharp 的 Enlive 链接已损坏。 - Petrus Theron
谢谢@pate,无法编辑,所以在这里给你[Enlive](http://github.com/cgrand/enlive)的内容。 - Jaime Agudo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接