软件要想成功,必须要有一个能支撑它走下去的良好生态环境。凭借其插件架构,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 个插件的综合评级:
- RichUI
易用,而且和 GSP 标签集成得不错。不需要 JavaScript 的知识。对于 Grails 的新手和老手都一视同仁。- GrailsUI
不象 RichUI 插件那样容易使用,但是文档很好,而且提供了一些不错的组件和良好的 GSP 标签集成。- jQuery
如果你对 JavaScript 没什么不适应并想学习 jQuery,你就可以去使用它。它的使用并没有什么限制,对于那些对没有被 JavaScript 吓倒的开发者,我强烈地推荐它。- Prototype / Scriptaculous
要是你不想或不能在你的项目中包含其他框架,就用它吧。它不象 jQuery 那样好用,但它有大型的社区,而且文档也能找到。
在该文的评论部分,有读者提到了为何没有涉及 Grails 的 ZK 插件。显然,这篇文章并没有涉及所有的 Grails Ajax 插件,但它确实包含了 Grails 插件中目前最流行的几个 Ajax 插件。
请问你还有什么补充吗?你的最爱又是什么?关于 InfoQ 中文站 Grails 的其他内容,请访问这里。
评论