软件要想成功,必须要有一个能支撑它走下去的良好生态环境。凭借其插件架构,Grails已经为自己的发展打下了良好的基础。看着不断增长的Grails插件列表,不难想象Grails将来的发展。不断增长的插件也让开发者有了可以选择的机会,尤其是在面对那些作用相同或相近的插件时,这种情况尤其突出。在这样的情况下,一个很自然的问题就是“它们中哪个是最好的?”
最近,Dean Del Ponte就撰文对4个Grails的Ajax富客户端插件进行了对比,并给出了自己的评判。对于那些重量级的富客户解决方案,如Flex或JavaFX,作者自称并未考虑。Dean Del Ponte首先对这4个插件的优缺点进行了对比:
Prototype/Scriptaculous- 优点
- 缺省包含在Grails中
- 流行的框架,拥有API文档并可在线获得帮助
- Prototype的核心功能比较容易上手;注意,Scriptaculous的学习曲线比Prototype更短。
- 良好的社区支持。有许多免费的第三方组件。
- 缺点
- 除了API,文档不详细且难以找到
- 不再是“带头大哥”。常常扮演其他框架的追随者。
- 学习曲线比其他框架要陡得多
- 优点
- 集成了支持10个YUI组件的GSP标签
- GrailsUI插件wiki页面和YUI主页都有详尽的文档。
- SpringSource开发人员的参与
- 缺点
- 没有给所有YUI组件提供GSP标签实现
- 对于那些有GSP标签的YUI组件,又不支持全部特性(如,数据表格的单元格内的编辑)
- 可用的第三方YUI组件有限
- 优点
- 提供了21种富客户端组件的实现
- 大量的GSP标签集成
- 文档化做得不错
- 缺点
- 包含了多个底层JavaScript框架,有和其他插件冲突的可能
- 优点
- 详尽的文档,并带有例程
- 大型社区
- 大型的组件库,其数量是现有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的其他内容,请访问这里。