在过去的几年里,众多的 Web 框架都把精力投放在提高开发效率上。而 Ruby on Rails 胜过了许多传统框架而被人们视为 Web 快速开发的王牌。在 Java 界,很多的框架都在响应以提高效率,快速开发,和支持脚本语言为目标的号召。 从 Grails 到 Stripes,RIFE 到 Trails,Tapestry 5.X 到 Phobos,人们都期望着能有新的能达此程度的 Java Web 开发方式,来高效快速地构建 Web 应用环境。
Grails 是一个在 Java 平台上基于 Groovy 的 Rails 风格 Web 框架,伴随着其社区的快速成长,和包括在 Tropicana 和 Pepsico 这样的主流公司内的日渐增多的实际应用,最近吸引了很多开发者的眼球。人们通常拿Grails 在机遇与挑战方面来与Ruby on Rails 作比较, 皆因人们已被在自己熟悉的平台上的这Rails 式的框架的力量所吸引了。最近的一系列比较分析结果显示了现在Grails 有着更为优越的性能表现。但Ruby 新发布的版本预言其能做得比这性能更好。
虽然曾经有过些关于在Grails 内部直接支持Ruby 的讨论,但当前来说这是行不通的。如果你只是希望把Grails 中的一些部分集成到你的应用中,而不是通过Grails 来集成Ruby 的话,那明显是可行的,你可以在Grails context 之外使用的Grails 对象关系映射工具GORM ,例如可用在Java 桌面应用程序上。现在所有的主流IDE 都逐渐有支持Groovy 和Grails 的迹象。如一些在Netbeans IDE 上作支持的讨论,还有在IDEA 中改进GroovyJ 的讨论。在Eclipse 上已经开始开发的 Grails 插件和新发布的 Groovy/Eclipse 插件,还有现在 Edward Povazan 致力于改进自动代码完成(Code Completion)来支持 Big Sky Technology 。
Grails 最近发布了 0.5 版本, 该版本包括了性能的提高,自定义 URL,增强 GORM 等一些特点。 Roadmap 中的下一步就是 0.6 版本,还有在今年迟点会发布的 1.0 正式版。 InfoQ 与 Graeme Rocher, Grails 项目的开发者与领导,谈论了关于 Grails 当前的成功经验和未来的方向。
当被问及当前 Grails 引发的潮流时,Graeme 回答:
很多的 Java 开发者都意识到配置不再是一个必要的工作,而 Grails 正是引领这个潮流的框架之一。与其它的一些框架相比,Grails 着重强调重用你 现有的 Java 知识、底层架构和代码。Grails 和 Rails 一样的优雅,另一方面又和 Spring MVC 或者 Seam 一样的灵活,从这两方面来说都真的做得很好了。因此,它也确实得到了社区和全世界的认同。我们花了超过一年时间来准备 0.1 版本。正因 它的非凡引起了很多人的注意,有很多乐于其中的用户会帮忙散播信息和提高 Grails 在人们心中的地位。
当谈到在构建 Java Web 应用方面拿 Grails 与其它框架相比较时:
Grails 信奉着不重复原则(DRY,Don’t Repeat Yourself)和无配置规约(Convention-over-Configuration)。当你开发 Grails 应用时真正会感受到很多地方无需 配置。而你所获得的这些功能都是通过集成一些 Java 现存的 API, 库和框架,如 Java Enterprise stack、Spring、Hibernate 和 SiteMesh。 除此之外 Grails 还有许多关键卖点,包括了可扩展的插件系统,一个基于 Hibernate 的领域驱动的 ORM 层,和一个结合 Groovy Server Pages(GSP)的强大视图。
当谈及如何去说服别人作第一次 Grails 的尝试时:
程序员是不需要真的去说服的,Grails 在易操控性方面有良好的竞争优势。如果是我想去说服别人使用 Grails 的话,我只要进行一个 5 分钟快速演示,然后他们就会信服了。
当问及 Grails 的 1.0 版本和以后会如何发展时,Graeme Rocher 回答到:
我们把精力都集中在改进开发者的体验方面,还有在秋季时能发布 1.0 版本。我们剩下的只是一些”大”问题了,接下来的工作就是通过不断的改进去达到终点线 了。我们还没做的事情包括,JSP 标签库支持 GSP,如果可能的话以插件的形式支持 JPA,还有改进我们的单元测试基础框架。 虽然现在我们主要的精力集中在发布 1.0 版上,但在那之后,我们会补充一下基础架构,同时会写更多的 Grails 的插件来继续改进开发者的体验。例如,我就很想腾出时间来为 GWT 写个 Groovy 编译器,这样 GWT 就能作为 Grails 的一个插件了,我想这必定很有趣。
如果你想知道更多关于 Grails 方面的资料,你可以继续阅读InfoQ 中Grails 相关材料(英文),或者去浏览 Grails 的官方网站,又或者读一下 Getting Started with Grails 或 Definitive Guide to Grails 。
查看英文原文: Grails Gathers Steam, Heads for 1.0
译者简介:陈俊, SpringSide 开 源项目的核心成员,以及中科院软件工程硕士,就职于 Accenture。长期从事 Java EE 应用开发, 热衷于软件体系结构,设计模式,软件过程改进及敏捷开发研究,也喜欢尝试不同的开源技术,一直以来坚持为开源社区的发展贡献自己的力量。为 InfoQ 中文站贡献内容,请邮件至 china-editorial@infoq.com 。
评论