【问题标题】:Single page Web App in Java framework or examples? [closed]Java框架或示例中的单页Web App? [关闭]
【发布时间】:2012-04-04 03:36:14
【问题描述】:

有没有人在 Java 中看到过示例或做过以下操作: http://duganchen.ca/single-page-web-app-architecture-done-right/

这是一个设计单页网络应用程序,将与 Google SEO 一起使用,而不会大量违反使用 Java 技术的 DRY?

我自己做这件事似乎并不难,但我很好奇(而且懒惰)看看是否有人已经用 Spring 或 JAX-RS 完成了。

【问题讨论】:

  • 我上周确实发现了这个,使用的是 spring 3.1 和 Backbones。但它不使用 Mustache。 github.com/sdeleuze/spring-backbone-todo。然后就有可能与github.com/sps/mustache-spring-view 合并
  • 是的,我已经在使用 Mustache Spring View。我正在考虑自定义它,以便如果看到“应用程序/json”的接受类型,它会通过杰克逊(json 对象)发送模型。

标签: java javascript backbone.js mustache singlepage


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我已经构建了一个相当大的“单页”javascript website,它在客户端上生成所有 HTML。服务器仅提供 JSON 响应。我使用Google Closure tools 的原因如下:

    • Google Closure Templates 允许使用高级模板语言(名为 soy)设计模板,该语言被编译为纯 JavaScript 函数以在客户端运行或 Java 代码以在服务器站点上运行.

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

    • Google Stylesheets 是一种元 css 语言,非常适合闭包编译器。

    • Google Closure Library 是一个庞大且经过良好测试的 javascript 库,并且带有闭包编译器,您只需要获取所需的内容。

    为了简化开发,我使用了 plovr,由前 google 员工、原 Closure Compiler Team 成员之一的 Michale Bolin 编写。

    我可以推荐阅读 Michale 的书:Closure, the Definitive Guide

    我必须警告,最初的学习曲线可能非常陡峭,但值得痛苦。 Google 使用这个工具编写了几乎所有的网络项目。

    还有一件事

    如果您真的很喜欢冒险,并且想窥探未来,我建议使用 Clojure/ClojureScript 升级以前的策略。首先,观看此very persuasive talk of Rich Hickey 并确保检查Clojurescript one project

    【讨论】:

    • 我们使用 google 闭包作为最小化工具,但我不知道它有模板语言。我正在认真考虑切换,因为 Mustache 是如此有限。
    • 试试闭包模板。实际上,将所有 google Closure 工具一起使用是很有意义的。它们被设计为一起使用。为了释放闭包编译器的真正威力,代码应该以请求的方式标记(在 cmets 中)。所有闭包库都以这种方式标记,因此编译器可以进行显着的优化和代码压缩。闭包编译器不仅仅是另一个最小化器,它是终极野兽!
    • 404 在 Rich Hickey 演讲中,但我找到了这个,“ClojureScript Release - Rich Hickey”~youtube.com/watch?v=tVooR-dF_Ag这是你提到的演讲吗?
    【解决方案3】:

    我推荐使用 AribaWEB 的高级 AJAX。

    http://aribaweb.org/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      • 2010-12-02
      • 2011-12-16
      • 1970-01-01
      • 2016-07-10
      相关资源
      最近更新 更多