BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Grails Ajax富客户端插件大比拼

| 作者 胡键 关注 0 他的粉丝 发布于 2009年3月20日. 估计阅读时间: 4 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

软件要想成功,必须要有一个能支撑它走下去的良好生态环境。凭借其插件架构,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的其他内容,请访问这里

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

不推荐基于Grails的插件来使用Ajax by 果 林

在Grails上使用Ajax不外乎2种用法:

1.使用Grails提供的Ajax插件.
不论使用那个Ajax插件, 他能提供给GSP使用的标签都是非常少的, 除非你愿意自己写Tag.
插件使用的都是老版本的lib. 总不能为了使用GSP标签,而等插件升版本来支持新版本的lib吧. 当然, 你自己写标签是另外一回事.
JS还是需要写,只是由于GSP标签的存在确实少了一些JS的代码.

2.传统用法.
就是传统用法了.

我个人推荐用传统用法. 毕竟, Ajax在jsp的使用应该比较熟悉了, 该写JS, 继续写JS.

Re: 不推荐基于Grails的插件来使用Ajax by 胡 键

我觉得没有必要分得这么绝对。我同意单纯使用标签是不够的,需要在一定程度上了解JS,而且这似乎已经成为开发Web应用的必备知识了。但是,如果有好的插件,也没有必要去排斥。我觉得插件至少起到了将项目的知识进行固化,以备下次复用,减少重复劳动的目的。你说的版本问题的确是存在,但是这个问题是个普遍问题,现在无论谁的项目中所使用的开源框架肯定都会用到一些lib,也不见得非得因为主框架升级了就马上进行迁移。而且,随着Grails生态环境的成熟,必然也会出现一些以主框架为核心,包含不同插件的版本。看看Eclipse的WTP,不就是如此么。而且,我个人认为groovy社区的生态系统建设还是搞得很好的。早前groovy社区就表示,groovy 1.6发布时,也会保证和grails的兼容性。这种联动发布是其他开源社区很少见到的。
罗罗嗦嗦说了一大堆,总而言之就是“什么合适用什么,怎么顺手怎么来”,办法不是只有一种,没有必要非此即彼。呵呵

zk太重量了 by Xie Fengbo

不提也没什么。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT