Groovy/Grails的发展与回顾

Groovy/Grails的发展与回顾
作者: cornsomething
本文是这一年以来,在美国召开令人激动的 NFJS 系列会议的人们汇集在一起的东西。在几个礼拜之前,我非常幸运的在西雅图参加了我的第一次会议,并且在这个周末十分高兴的说说这方面的事情。这次的座谈会告诉我有很多的理由参与到软件开发中来。从上面的介绍,你可能认为今晚对软件开发有着极大的憧憬,是的,你猜对了。作为 250 左右的幸运儿,我们没有失望。
我们开始从 G2One VP 开始回顾Groovy/Grails,Groovy项目的领导者, Guillaume Laforge 首先告诉我们一些关于 Groovy 的历史,它开始于 2003 年,基于以下的目标:
·简化开发人员的开发
·和 Java 平台无缝集成
·尽可能的动态
五年以后,这个项目有:
·每个月超过 5 千的下载量,在发布一个新版本的时候最多有 1 万的下载量。
·超过 1 千的邮件列表描述。
·每一个月有将近 1 千的消息在 list 上。
·自从去年 Groovy/Grails JavaOne 上谈到以后,一个礼拜就有 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 等等
·同时也引入了 EJB3 JPA Hibernate sprint annotations testNG Junit4
最新版的 Groovy 语言—— 1.6 beta-1 版本将在下一周发布,比之以前的版本,这个新版本将有极大的性能提升,使得 Groovy 语言的性能超过其他的动态语言。
接着,我们开始回顾 Grails 项目,我们基于以下的场景开始:
·在 Grails 之前的 Web frameworks 使用起来是令人烦恼和痛苦的,太多的配置文档把你弄混乱,当测试改变时,你永远不得不重新发布。
· Ruby on Rails 是令人激动的。 Guillaume 这样说 Ruby :“有着一些伟大的原则,如契约代替配置,不重复自己( DRY )等等,但是却出现在一个非常规的平台上。”
· Grails 项目组希望人们通过使用 JVM 来保护他们在 Java 平台的投资
·他们采用“站在巨人肩膀上”的哲学,你可以看到,他们都使用了下列的一些开源技术
· Spring DI )、 Hibernate OR mapping ,处理遗留 schemas )、 Jetty SiteMesh (用于页面布局和组件化)、 AJAX 库(富客户端实践)
Grails 1.0 2008 2 月发布,现在是每个月有 1 4 千个下载量。同时也有许多的插件可以获取,这些都是 Guillaume 提供的数据,并且他称 Grails 社区为“超活跃社区”。一些比较流行的插件的例子为:
· Searchable
·新的视图技术或者工具集成—— GWT Wichet YahooUI
· Web Services —— Axis Xfire
·安全方面的集成
·面向企业级的—— JMS LDAP Mondrian JasperReport
现在在插件 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-

你可能感兴趣的:(正则表达式,Ruby,Rails,grails,groovy)