最近一段时间,
Ruby on Rails
(以下简称
ROR
)在
Java
社区中越来越升温,所有的
Java
程序员都为这一敏捷的开发框架感到惊奇,惊奇
ROR
所带来的惊人的开发效率。
ROR
的主页上这样描述:“
Ruby on Rails
是一个开源框架,致力于编程的乐趣和生产效率,让你通过习惯优于配置(
COC
,
Convention over Configuration
)来编写优美的代码”。非常棒,通过对
ROR
的了解,
Java
程序员发现编写程序充满了乐趣和生产效率的提高。但随之而来的就是,
ROR
基于
Ruby
语言,一种全新的动态脚本语言,它和
Java
没有任何关系,当
Java
程序员度过了最初的美妙感受后,不得不深入了解
Ruby
语言。而且,
ROR
的运行效率现在还没法和成熟的
Java EE
相比较,更不用说成千上万的公司在
Java
平台所做出来的投入如何继承了。
我们可以把目光放得更远些,Groovy和Grails就进入了我们的视线。
Groovy是一种动态脚本语言,关键是它是基于Java的动态脚本语言,这就足以让所有的Java程序员感到兴奋了。Grails是基于Groovy的类似于Rails的实现,原本叫做Groovy on Rails,因为商标的问题,称作Grails。“Grails并不是Rails的克隆,它的目标是为Java程序员提供一个熟悉的类似Rails的开发环境,使Java程序员可以利用已有的知识进入动态框架,以避免带来巨大的跳跃。比如在Grails中提供了Java程序员非常熟悉的拦截器(interceptors)、标记库(tag lib)、Groovy Server Page(GSP)等等”。
让我们深入看以下Grails到底是什么。Grails在底层是基于开源的Hibernate、Spring、SiteMesh的封装,利用Hibernate实现ORM,利用Spring实现MVC,利用SiteMesh实现页面的布局。Java程序员看到这些技术应该是最熟悉不过的,而且可以确保的是,这些技术是久经考验和经过生产验证的。
如果我们有了基于Java的动态脚本语言,又有了类似Rails的敏捷开发框架,而且这个框架又是基于久经考验的底层框架之上,我们为什么不投入Grails的怀抱呢。