Groovy/Grails的发展与回顾

                               Groovy/Grails的发展与回顾
 
 
                            作者:cornsomething
 
本文是这一年以来,在美国召开令人激动的NFJS系列会议的人们汇集在一起的东西。在几个礼拜之前,我非常幸运的在西雅图参加了我的第一次会议,并且在这个周末十分高兴的说说这方面的事情。这次的座谈会告诉我有很多的理由参与到软件开发中来。从上面的介绍,你可能认为今晚对软件开发有着极大的憧憬,是的,你猜对了。作为250左右的幸运儿,我们没有失望。
我们开始从G2One VP开始回顾Groovy/Grails,Groovy项目的领导者,Guillaume Laforge首先告诉我们一些关于Groovy的历史,它开始于2003年,基于以下的目标:
·简化开发人员的开发
·和Java平台无缝集成
·尽可能的动态
 
五年以后,这个项目有:
·每个月超过5千的下载量,在发布一个新版本的时候最多有1万的下载量。
·超过1千的邮件列表描述。
·每一个月有将近1千的消息在list上。
·自从去年Groovy/GrailsJavaOne上谈到以后,一个礼拜就有7千个下载量。
 
随后,Guillaume给我们讲述了一些有关Groovy的大成就。第一个就是有关“Mutual of Omaha”,有5万行Groovy代码,一半是业务代码、一半是测试代码。他们使用Groovy语言作为保险政策的一个风险计算引擎,有很多Java初学者和资深领域专家参与到项目中来。Groovy语言对于他们来说,主要的卖点是:
·Big decimal计算(被Groovy语言默认支持)
·完美的Java集成
·闭包
 
以上的特点使用Groovy语言是一个编写商业规则表达式的理想语言。
对于那些还没有进入Groovy语言的人来说,还有一些如下的关键点值得你考虑:
·Groovy语言是类Java的语言
·它拥有平缓的学习曲线
·对于初学者和领域专家来说,它比Java简单
·你能把Java和Groovy代码混在一起使用
·它使用相同的字符串、正则表达式、安全/线程/OO模型
·它不是一个新的事物或平台
·并且没有重大的兼容性的问题
·在1.5版本,加入了Java 5的特性、annotation支持、泛型、enums等等
·同时也引入了EJB3JPAHibernatesprint annotationstestNGJunit4
 
最新版的Groovy语言——1.6 beta-1版本将在下一周发布,比之以前的版本,这个新版本将有极大的性能提升,使得Groovy语言的性能超过其他的动态语言。
 
 
 
接着,我们开始回顾Grails项目,我们基于以下的场景开始:
·在Grails之前的Web frameworks使用起来是令人烦恼和痛苦的,太多的配置文档把你弄混乱,当测试改变时,你永远不得不重新发布。
·Ruby on Rails是令人激动的。Guillaume这样说Ruby:“有着一些伟大的原则,如契约代替配置,不重复自己(DRY)等等,但是却出现在一个非常规的平台上。”
·Grails项目组希望人们通过使用JVM来保护他们在Java平台的投资
·他们采用“站在巨人肩膀上”的哲学,你可以看到,他们都使用了下列的一些开源技术
·SpringDI)、HibernateOR mapping,处理遗留schemas)、JettySiteMesh(用于页面布局和组件化)、AJAX库(富客户端实践)
 
Grails 1.020082月发布,现在是每个月有14千个下载量。同时也有许多的插件可以获取,这些都是Guillaume提供的数据,并且他称Grails社区为“超活跃社区”。一些比较流行的插件的例子为:
·Searchable
·新的视图技术或者工具集成——GWTWichetYahooUI
·Web Services——AxisXfire
·安全方面的集成
·面向企业级的——JMSLDAPMondrianJasperReport
 
现在在插件SVN区已有超过3百万行的代码。
 
Grails的成功故事和Groovy一样让人激动。特别是这样的事实——SAP集成了Grails,目的是为了在已经存在的基于Java网络复合平台上快速的写一个新的客户端,大量的SAP用户要求Java开发者快速的转到Grails开发平台。
天空电视台——英国最主要的电视节目提供商——使用Grails创建了一个新的showbiz网站,目标是每个月有186个百万级的页面刷新,到现在没有遇到过性能的问题。天空电视台现在决定使用Grails重写他们的主网站。
 
基于上述两个方面的目标,有一些非常好的问题和答复,如下,Q&A由亮度显示:
Q:你怎么看待在JVM上使用Groovy语言作为主要的开发语言?
A: Guillaume——“Groovy意味着对Java的赞誉,而不是取代”,他接着说,“Java对于写高性能的代码是精彩绝伦的,因为动态语言永远会比静态语言慢。这样的观点是不错的——Groovy语言是好的想法的运动场,但最后需要Java来结束它”。
Q:前面问题的反面——对于语言兼容有什么策略?
A: Guillaume指出:“1.x之间的版本是往后兼容,但是代码需要重新编译”。他们非常在意如果不是极端需要就不打断兼容性,可能在Groovy 2.0版本,为了获得一个较高的性能提升而需要打断兼容性。
Q:Grails如何和Ruby on Rails区别开来?
A: Grails不是RoR的一个克隆,不仅仅是将Rails的原理带到JVM上来。主要的不同是和JVM的集成,方法的更加先进,比较Ruby on Rails来说,甚至比JRuby on Rails都是这样。”
 
听着Guillaume的演讲,时间过的真快。中间也穿插一些爱好者通过网络连进来的一些简单演示,这些爱好者现在在他们项目组使用Grails创建解决方案——可以更快的给市场发布他们的产品。
到了这个时候,按时程有一个休息时间,所有的人可以自由交谈和喝点什么。然后进入专家讨论,这些详细情况会在下一个礼拜补充进来。
 
原文链接:http://java.dzone.com/news/groovy-grails-update-g2one-no-

没有更多推荐了,返回首页