Grails Ajax 富客户端插件大比拼

  • 胡键

2009 年 3 月 19 日

话题:Java语言 & 开发架构

软件要想成功,必须要有一个能支撑它走下去的良好生态环境。凭借其插件架构,Grails 已经为自己的发展打下了良好的基础。看着不断增长的Grails 插件列表,不难想象 Grails 将来的发展。不断增长的插件也让开发者有了可以选择的机会,尤其是在面对那些作用相同或相近的插件时,这种情况尤其突出。在这样的情况下,一个很自然的问题就是“它们中哪个是最好的?”

最近,Dean Del Ponte 就撰文对 4 个 Grails 的 Ajax 富客户端插件进行了对比,并给出了自己的评判。对于那些重量级的富客户解决方案,如 Flex 或 JavaFX,作者自称并未考虑。Dean Del Ponte 首先对这 4 个插件的优缺点进行了对比:

Prototype/Scriptaculous

  • 优点
    • 缺省包含在 Grails 中
    • 流行的框架,拥有 API 文档并可在线获得帮助
    • Prototype 的核心功能比较容易上手;注意,Scriptaculous 的学习曲线比 Prototype 更短。
    • 良好的社区支持。有许多免费的第三方组件。
  • 缺点
    • 除了 API,文档不详细且难以找到
    • 不再是“带头大哥”。常常扮演其他框架的追随者。
    • 学习曲线比其他框架要陡得多

GrailsUI 插件

  • 优点
    • 集成了支持 10 个 YUI 组件的 GSP 标签
    • GrailsUI 插件wiki 页面和YUI主页都有详尽的文档。
    • SpringSource 开发人员的参与
  • 缺点
    • 没有给所有 YUI 组件提供 GSP 标签实现
    • 对于那些有 GSP 标签的 YUI 组件,又不支持全部特性(如,数据表格的单元格内的编辑)
    • 可用的第三方 YUI 组件有限

RichUI 插件

  • 优点
    • 提供了 21 种富客户端组件的实现
    • 大量的 GSP 标签集成
    • 文档化做得不错
  • 缺点
    • 包含了多个底层 JavaScript 框架,有和其他插件冲突的可能

jQuery

  • 优点
    • 详尽的文档,并带有例程
    • 大型社区
    • 大型的组件库,其数量是现有 JavaScript 框架中最多的
    • 从项目网站可以访问大量的组件(jQuery 称它们是插件)
    • 简单、易用的语法
  • 缺点
    • 除了 Grails 缺省的标签,没有提供其他 GSP 标签的集成
    • 要求大致了解 jQuery API、语法和 JavaScript 才能有效地使用

回到我们最初的那个问题:“它们中哪个最好?”,作者的回答却是相当圆滑:“取决于你的需要”。各位也不必太过在意,因为这种事情本来也是“萝卜白菜各有所爱”。当然,作者还是给出了他的最爱:RichUI 插件。

文末,作者给出了他自己对于这 4 个插件的综合评级:

  1. RichUI

    易用,而且和 GSP 标签集成得不错。不需要 JavaScript 的知识。对于 Grails 的新手和老手都一视同仁。
  2. GrailsUI

    不象 RichUI 插件那样容易使用,但是文档很好,而且提供了一些不错的组件和良好的 GSP 标签集成。
  3. jQuery

    如果你对 JavaScript 没什么不适应并想学习 jQuery,你就可以去使用它。它的使用并没有什么限制,对于那些对没有被 JavaScript 吓倒的开发者,我强烈地推荐它。
  4. Prototype/Scriptaculous

    要是你不想或不能在你的项目中包含其他框架,就用它吧。它不象 jQuery 那样好用,但它有大型的社区,而且文档也能找到。

在该文的评论部分,有读者提到了为何没有涉及 Grails 的ZK 插件。显然,这篇文章并没有涉及所有的 Grails Ajax 插件,但它确实包含了 Grails 插件中目前最流行的几个 Ajax 插件。

请问你还有什么补充吗?你的最爱又是什么?关于 InfoQ 中文站 Grails 的其他内容,请访问这里

Java语言 & 开发架构