有没有人在Java中看过一个例子或做过以下事情: http://duganchen.ca/single-page-web-app-architecture-done-right/
这是一个设计单页面的网页应用程序,它将与Google SEO一起使用Java技术大量违反DRY?
我自己做这个似乎并不难,但我很好奇(并且懒惰)看看是否有人已经使用Spring或JAX-RS完成了它。
答案 0 :(得分:8)
我已经构建了相当大的“单页”javascript website,它在客户端上生成所有HTML。服务器仅提供JSON响应。我使用Google Closure tools的原因如下:
Google Closure模板允许使用高级模板语言(名为soy)设计模板,该模板可编译为在客户端上运行的纯javascript函数或在服务器站点上运行的java代码
Google Closure Compiler ,允许将javascript代码分离到模块,并为未编译模式提供自动依赖注入。任何超过简单html装饰的项目都需要良好的程序结构和模块化。使用jQuery或dojo等框架很难实现这一点。在高级编译模式下,它将您的javascript转换为更短的更高效的等效项,消除死代码并大幅减小尺寸,这可以将原始代码库缩小到原始大小的几个百分点。
Google Stylesheets 是一种meta css语言,适用于闭包编译器。
Google Closure Library 是一个庞大且经过良好测试的javascript库,使用封闭编译器,您只需要采取所需的操作。
为了简化开发,我使用的是plovr,由前Google员工Michale Bolin编写,是原Closure Compiler Team的成员之一。
我可以推荐阅读Michale的书:Closure, the Definitive Guide。
我必须警告,最初的学习曲线可能非常陡峭,但值得痛苦。谷歌使用这些工具编写了几乎所有的网络项目。
如果你真的喜欢冒险,想要窥探未来,我建议用Clojure / ClojureScript升级前一个策略。首先,请观看very persuasive talk of Rich Hickey并确保查看Clojurescript one project。
答案 1 :(得分:0)
我推荐AribaWEB用于其高级AJAX使用。
答案 2 :(得分:0)
看看ItsNat,是一个专注于单页面接口SEO兼容网站的Java框架。