【问题标题】:Current core technologies for AJAX w/ Java?当前使用 Java 的 AJAX 核心技术?
【发布时间】:2011-06-05 03:04:40
【问题描述】:

希望在后端使用 AJAX 和 Java 来实现 RIA。

我正在寻找一种 RPC 样式方法的 DWR,但该项目自 2008 年以来一直没有更新。

我也在关注 DOJO 和 GWT。

谁能推荐一套最适合基于 Java 的后端的核心技术,其中包含一组丰富的客户端小部件以及与 Spring WebFlow/MVC 的后端集成?

谢谢

【问题讨论】:

    标签: java ajax spring jakarta-ee integration


    【解决方案1】:

    我会推荐 Spring 3.0。它是最新的、轻量级的、易于配置的、支持依赖注入、带注释的类,并且是一个很棒的框架。

    它支持 REST,因此很容易实现将 JSON 返回到 HTML 页面的类。这将有助于将您的内容、行为和演示完全分开,同时仍使您能够构建富 Internet 应用程序。

    虽然超出了您的问题范围,但我建议您在前端使用 JQuery,因为使用它从服务器来回传输 JSON 取得了非常好的结果。

    我会远离 DWR。他们与 Dojo 合并,在我看来这是比 DWR 更好的选择。 DWR 听起来不错,但在实践中它有问题且难以使用。 Dojo 更加简洁和模块化。但除非您使用 Comet(也称为 Reverse Ajax),否则请坚持使用 Spring 和 JQuery。

    Google App Engine 也支持 Spring 3.0...值得一提的是,平台即服务是我们的未来。

    【讨论】:

    • 嗯,我明白了,就预先构建的客户端小部件而言,我们会不会只使用过多的 jquery 插件?
    • @Bill - 我建议使用 JQuery 及其插件。我个人远离 Spring 视图技术,因为它们对非 Java 工程师的网页设计师产生负面影响.在大多数情况下,可以在 CSS 中控制 JQuery 插件样式,因此它的外观和感觉仍然是您品牌的一部分。
    【解决方案2】:

    我的建议是像 SmartClient 或 ExtJS 这样的 RIA 框架 + 基于 REST 的后端(例如,基于 Jersey 构建)。我还发现 JQuery 在与这些框架结合使用时非常有用。一起。这允许您在 REST API 之上构建您的 GUI,它本身可以重复用于编程集成。

    这类问题始终是宗教问题,但出于多种原因,我个人并不是 GWT 的忠实粉丝。其中一个原因是因为我不希望服务器端人员构建面向 GUI 的数据结构(我宁愿让他们坚持纯数据,让我的 GUI 人员处理 GUI 的东西)。所以我实际上并不欣赏 GWT 的这种能力,但显然许多其他人欢迎这方面,所以这又是一个宗教选择。

    【讨论】:

      【解决方案3】:

      你可以试试 GWT。它很好地支持了 Spring。 http://www.springbyexample.org/examples/simple-gwt-spring-webapp.html

      【讨论】:

        【解决方案4】:

        如果您使用 Spring MVC 后端,则可以使用任何 AJAX 前端。

        如果您要开发 RIA,我建议使用 PrototypeScript.Aculo.Us(Killer GUI 效果库)或 MooTools(它是原型的扩展或重写,这也是包括许多 GUI 工具)。

        ProtoType 和 Mootools 的伟大之处在于它们的面向对象方法(MooTools Class() docsPrototype Class.create() docs),以及为 DOM 元素提供附加方法和属性的扩展机制(How Prototype extends the DOMMooTools Element reference)。当然,这种机制正是 JQuery 家伙讨厌这些库的地方。但好消息是,由于有了这些扩展,您几乎不必求助于特定于浏览器的编程,抽象会为您处理这些。

        【讨论】:

          【解决方案5】:

          我为 RIA 应用程序选择 JSF。

          1. 它是 J2EE 6 标准
          2. 它内置在 J2EE 应用服务器(glassfish、jboss)中,
          3. 它有多种实现方式 - 如果您对其中一种有疑问,可以切换到另一种实现方式
          4. 我至少有 4 个(richfaces、myfaces、icefaces、primefaces)独立的大型组件库。

          【讨论】:

            【解决方案6】:

            Spring 可以很好地工作,但我个人偏爱简单,而且 Spring 平台有点重。所以我更喜欢在 JAX-RS 容器上部署服务(比如Jersey); Guice 用于将事物连接在一起,如果我想覆盖或更改数据绑定,Jackson 用于 JSON 处理。

            其他有用的部分是 jDBI 用于数据库访问(比休眠或其他完整的 ORM 简单得多),async-httpclient 用于调用其他 Web 服务。

            最重要的是,这些都适用于许多其他用途。

            【讨论】:

              猜你喜欢
              • 2010-12-18
              • 2011-08-11
              • 1970-01-01
              • 2012-04-14
              • 2010-10-06
              • 1970-01-01
              • 2019-05-28
              • 1970-01-01
              • 2013-10-16
              相关资源
              最近更新 更多