我正在Clojure中编写一个webapp。
我几乎想要使用Google Web Toolkit作为前端 - 因为我可以编写Clojure / Java代码,并让库自动生成Javascript / AJAX。
然而,出于某种原因,GWT在现实世界中并没有被大量使用。
是否存在与Java类似的东西(如GWT)但更受欢迎?
谢谢!
答案 0 :(得分:9)
有JWT。
答案 1 :(得分:9)
GWT用于现实世界!很多!谷歌正在做一些相当大的事情,所以我不认为人气是一个有效的问题。
我不想开始一场火焰战,所以我不再详细说明。
另外,请记住GWT是一个java-javascript编译器。客户端上不会运行字节码。因此,在编写客户端代码时,您只能使用java而不是clojure代码。
答案 2 :(得分:6)
GWT对Clojure并不是特别有用,因为它(GWT)使用自定义编译器来读取Java源代码(不是字节码)。除非您想用Java编写所有用户界面代码,否则GWT将无法帮助您。
答案 3 :(得分:0)
现在ClojurescriptOne是替代GWT的好方法。到目前为止我发现缺少的是完整的源优化,当然还有一些自定义库。
另外例如clojurescriptone只会将javascript编译为一个文件,还没有创建缓存的html文件来进一步加快加载时间,如GWT。
对Google Closure的支持不已完全包装,因此您必须使用互操作。也就是说,与GWT中的java编程相比,我仍然认为这是一个相当不错的选择。
答案 4 :(得分:0)
您可能还想查看我的微框架,支持使用Clojure / Ring / Compojure / lib-noir堆栈开发AJAX应用程序:
http://ganelon.tomeklipski.com
它不复制GWT的执行模型,而是像Vaadin或Weblocks一样工作(但没有会话状态或复杂的UI组件):它只是让你的XHR处理程序返回副作用,通过它应用于页面客户端瘦(和可扩展)JavaScript层。
例如:来自XHR处理程序的响应可以通过#id更新页面的一部分或显示Bootstrap的Modal或将浏览器重定向到新的URL - 但您可以轻松添加自己的操作。
答案 5 :(得分:0)
我很早就意识到这个问题,但现在有一个直接的答案 - ClojureScript。它允许你直接将clojure代码编译成javascript,并支持大多数常见的clojure习语。