First they ignore you
then they ridicule you
then they fight you
then you win
    -- Mahatma Gandhi
Chinese => English     英文 => 中文             
随笔-219  评论-1047  文章-0  trackbacks-0

Grails Gathers Steam, Heads for 1.0

Posted by Geoffrey Wiseman on May 01, 2007 02:58 PM

Web Frameworks

In the past few years, web frameworks have increasingly been focused on productivity. Ruby on Rails is seen by many as the poster-child for rapid web development, which has put a lot of pressure on traditional frameworks. In the Java marketplace, a number of frameworks are responding to that call by aiming for increased productivity, rapid development, and support for scripting languages. From Grails to Stripes, RIFE to Trails, Tapestry 5.X and Phobos, there are a lot of people looking for new ways to make Java web development a productive, rapid environment for building web applications that scale.

Grails, a Rails-style web framework using Groovy on the Java platform, has been getting a lot of attention lately, with a rapidly growing community and increasing production use for major corporations including Tropicana and Pepsico. Grails is often compared to Ruby on Rails, which is both an opportunity and a challenge, as people are attracted to the power of a Rails-like framework on a familiar platform, but may move on to Rails itself. A recent set of comparisons imply that Grails has the edge on performance for now, but that new releases of Ruby promise better performance across the board, and that may change.

Although there has been some discussion about support for Ruby within Grails, it doesn't currently seem likely. If, instead of integrating Ruby with Grails, you'd like to integrate parts of Grails with your other applications, it is apparently possible to use the Grails object/relational mapper, GORM, outside of a Grails context, such as in a Java desktop application. All of the major IDEs are showing signs of increased support for Groovy and Grails. There's been some discussion of IDE support in Netbeans, as well as discussion of improvements for GroovyJ in IDEA. Eclipse has the beginnings of a Grails plugin and new releases of the Groovy/Eclipse plugin and Edward Povazan working on improved code completion support with Big Sky Technology.

Grails recently released version 0.5, with improved performance, custom URLs, enhancements to GORM and more.  Next on the roadmap is 0.6, with a 1.0 release late in the year. InfoQ spoke with Graeme Rocher, a co-founder and the project lead for Grails about its current success and the future.

When asked about the recent surge in attention for Grails, Graeme responded:

Well, Java developers all over are being made aware that configuration is no longer a necessary activity and Grails is one of the frameworks leading this surge. However, in comparison to other frameworks, Grails has a really strong message around re-using your existing Java knowledge, infrastructure, and code. Grails is as elegant as Rails, but as flexible as Spring MVC or Seam. It really does provide the best of both worlds. As to the uptake, that has really been lead by our community and world of mouth. We spent over a year putting together a 0.1 release; if it had been mediocre no one would have paid any attention. As it is, we have many happy users who are spreading the word and increasing Grails' mindshare.


When comparing Grails to other frameworks for building web applications in Java:

Well, it really embraces DRY and convention-over-configuration. You really have pretty much zero configuration when developing a Grails application. However, you get all of this AND tight Java integration with existing APIs, libraries and frameworks like the Java Enterprise stack, Spring, Hibernate & SiteMesh.

In addition it has a number of key selling points. Including an extensible plug-in system, a domain-driven ORM layer built on Hibernate, and a powerful view technology with Groovy Server Pages (GSP).


On convincing someone to try Grails for the first time:

Developers don't really need a lot of convincing, it is more management that is the struggle. However, if I do want to convince people to use Grails, I just do a quick 5 minute demo and they're sold.


As to where Grails goes next, for v1.0 and therafter, Graeme Rocher said:

We're really focusing on improving the developer experience and getting out 1.0 by autumn time. We have only a few "big" jobs left and then it is just incremental improvements to reach the finishing line. Some things that we have left to do are for example JSP tag library support in GSP, possible support for JPA as a plug-in, and improvements to our unit testing infrastructure.

Overall though we are mainly focused on getting 1.0 out the door after that we'll look at leveraging the infrastructure we have in place and writing many plug-ins for Grails to continue to improve the developer experience. For example I really want to get round to writing a Groovy compiler for GWT that hooks into Grails as a plug-in, which should be fun.


If you'd like to learn more about Grails, you can continue to read about Grails at InfoQ, or take a look at Grails website, read Getting Started with Grails or the Definitive Guide to Grails.


Grails做足功夫 全力迈向1.0版

作者 Geoffrey Wiseman译者 陈俊 发布于 2007年5月6日 上午10时0分


在 过去的几年里,众多的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当前的成功经验和未来的方向。


很多的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的1.0 版本和以后会如何发展时,Graeme Rocher回答到:

我们把精力都集中在改进开发者的体验方面,还有在秋季时能发布1.0版本。我们剩下的只是一些”大”问题了,接下来的工作就是通过不断的改进去达到终点线 了。我们还没做的事情包括,JSP标签库支持GSP,如果可能的话以插件的形式支持JPA,还有改进我们的单元测试基础框架。

虽然现在我们主要的精力集中在发布1.0版上,但在那之后,我们会补充一下基础架构,同时会写更多的Grails的插件来继续改进开发者的体验。例如,我 就很想腾出时间来为GWT写个Groovy编译器,这样GWT就能作为Grails的一个插件了,我想这必定很有趣。

如果你想知道更多关于Grails方面的资料,你可以继续阅读InfoQ中Grails相关材料(英文),或者去浏览Grails的官方网站,又或者读一下Getting Started with GrailsDefinitive Guide to Grails

查看英文原文: Grails Gathers Steam, Heads for 1.0


附:朝花夕拾——Groovy & Grails

posted on 2007-05-02 13:25 山风小子 阅读(604) 评论(0)  编辑  收藏 所属分类: Groovy & GrailsOthers