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