Topic: Groovy/Grails的发展与回顾 |
Print this page |
1.Groovy/Grails的发展与回顾 | Copy to clipboard |
Posted by: 阿熊 Posted on: 2008-08-22 22:42 作者: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创建解决方案——可以更快的给市场发布他们的产品。 到了这个时候,按时程有一个休息时间,所有的人可以自由交谈和喝点什么。然后进入专家讨论,这些详细情况会在下一个礼拜补充进来。 |
2.Re:Groovy/Grails的发展与回顾 [Re: 阿熊] | Copy to clipboard |
Posted by: JiafanZhou Posted on: 2008-08-24 08:38 seems not many people are studying and using Groovy/Grails, |
3.Re:Groovy/Grails的发展与回顾 [Re: 阿熊] | Copy to clipboard |
Posted by: kenlee14 Posted on: 2008-08-28 09:06 agreet with u,man just a few friends using it i found the first websit using grail/groovy http://www.javaread.com call for opensource & share not bad. |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |