Java框架或示例中的单页Web应用程序?

17

有没有人在Java中看过这样的示例或做过以下事情:

http://duganchen.ca/single-page-web-app-architecture-done-right/

这是一种设计单页Web应用程序的方式,它将使用Java技术与Google SEO一起工作,而不会大规模违反DRY原则。

这似乎不是非常困难,我可以自己完成,但我很好奇(和懒),想知道是否有人已经用Spring或JAX-RS完成了它。


1
我上周找到了这个项目,它使用Spring 3.1和Backbones。但是它没有使用Mustache。链接为https://github.com/sdeleuze/spring-backbone-todo/。然后有可能与此链接https://github.com/sps/mustache-spring-view合并。 - Alex
1
是的,我已经在使用Mustache Spring View了。不过我正在考虑自定义它,这样如果看到“application/json”的接受类型,它就会通过Jackson(json对象)发送模型。 - Adam Gent
3个回答

8
我建立了一个相当大的“单页”javascript网站,它在客户端生成所有HTML。服务器只提供JSON响应。我使用Google Closure工具有以下原因:
  • Google Closure Templates 允许使用高级模板语言(称为soy)设计模板,可以将其编译为在客户端运行的纯javascript函数或在服务器端运行的java代码。

  • Google Closure Compiler 允许将javascript代码分离到模块中,并为未编译模式提供自动依赖注入。对于任何超出简单html装饰的项目,良好的程序结构和模块化都是必要的。使用jQuery或dojo等框架很难实现这一点。在高级编译模式下,它将您的javascript转换为更短、更高效的等效代码,消除死代码并大幅减小大小,可以将原始代码库缩小到原始大小的几个百分点。

  • Google Stylesheets 是元css语言,与closure compiler配合使用效果很好。

  • Google Closure Library 是一个庞大且经过充分测试的javascript库,与closure compiler配合使用,您只需使用所需的部分。

为了简化开发,我正在使用plovr,由前谷歌员工之一、Closure Compiler团队成员之一Michale Bolin编写。

我建议阅读Michale的书:《闭包,权威指南》

但是我必须警告你,初始学习曲线可能会非常陡峭,但它值得付出。Google使用这些工具编写几乎所有的网络项目。

还有一件事

如果你感到非常冒险,并且想要窥探未来,我建议将前面的策略升级为Clojure/ClojureScript。首先,观看Rich Hickey的这个非常有说服力的演讲,并确保检查Clojurescript一个项目


我们使用Google Closure作为代码压缩工具,但我不知道它还有一个模板语言。考虑到Mustache的限制性,我正在认真考虑转换。 - Adam Gent
尝试使用Closure Templates。实际上,将所有Google Closure工具一起使用非常有意义。它们被设计为一起使用。要释放Closure编译器的真正威力,代码应该以所需的方式标记(在注释中)。所有Closure库都是这样标记的,因此编译器可以进行显着的优化和代码缩小。Closure编译器不仅仅是另一个最小化工具,它是终极野兽! - Aleš Kotnik
Rich Hickey的演讲视频404了,但我找到了这个视频:'ClojureScript Release - Rich Hickey' ~ https://www.youtube.com/watch?v=tVooR-dF_Ag。你说的是这个演讲吗? - bootload

0

请看一下ItsNat,它是一个专注于单页界面SEO兼容网站的Java框架。


0

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