1.1.1 Grails框架的历史

2008年,第一版Grails框架发布,并在之后的十年间进行了多次更新,至本书编写时已发布版本4.0.4。很多人会说,现在已经有了很多开发框架,为什么还要再建立一个Grails框架?在Grails框架出现之前,很多Java系的Web开发框架都非常复杂,需要大量的信息配置,门槛高而且不方便使用,让开发人员倍感痛苦。但是由于Java语言的跨平台特点和性能优势,很多组织或者公司的系统在Java相关开发框架下已经运行多年,投入了大量的时间成本和人力成本,也积累了在Java平台上实现各种业务内容的丰富经验,使得这些组织或者公司的系统难以摆脱原有的Java技术体系。因此在现实生产中急需一种既能与原有的Java技术相结合,又能减少开发人员工作量的框架。

2004年,RoR框架出现。它的设计思想“约定优于配置”贯穿整个框架,为开发过程省去了很多不必要的配置过程。同样是基于MVC设计模式,应用系统不同的组件被框架统一地放到固定的目录下。RoR与传统的Java相比,省去了在XML文件中进行配置的工作,同时有更加灵活、强大的编程语言Ruby的加持,可以用很少的代码实现业务过程。因此RoR得到了很多开发人员的关注,它为解决Java开发痛点提供了可行思路。

Grails框架便是在RoR的设计思想下产生的。它使用语法更加灵活、更加简洁的编程语言Groovy,通过借鉴“约定优于配置”思想,使得开发效率大幅提升。虽然RoR也适合敏捷开发,效率与Grails框架相差无几,但是Grails框架的优势是Groovy语言可以与Java完美结合。这一优势使得开发者之前在Java上的投入不至于被丢弃,无须重新探索和创造“轮子”,Java框架下多年积累起来的技术得以继续使用,如Spring、Hibernate,以及Jetty、SiteMesh、Quarts等。另一个重要的原因是针对Java开发人员来说,Groovy拥有几乎水平的学习曲线。

因此Grails框架不仅提升了开发效率,同时也拥有更加友好的生态环境,它将Rails的思想带到了Java虚拟机(Java Virtual Machine,JVM)上,并且使用更加优美的方式集成到JVM环境。