Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7635664 建立时间:2006年5月29日 |

| |
[Java Open Source]谈谈Grails,以及Ruby on rails  软件技术
lhwork 发表于 2006/8/24 9:49:34 |
Grails顾名思义groovy on rails,一个用groovy模仿Ruby on
rails的project,昨天刚刚发布了0.1版本,0.2版本正在紧锣密鼓的开发中。今天花了点时间看了看grails的文档,基本上完全模仿
ruby on rails的开发模式和架构。grails底层实际上使用的是Hibernate3.1/Spring IoC/Spring
MVC/Sitemesh/Dynamic Tag/AJAX(prototype, rico,
YAHOO.js)这样的架构,但是通过groovy对底层进行了封装,提供了简单的,高度近似rails的编程模型,同时使用annotation和
CoC方式消除了XML配置文件的存在。
Groovy了解了一下,最近三个月开发变得非常活跃,似乎要在JavaOne上面有所动作。目前来说,grails还比较初级,还需要耐心等候项目的成熟和完善,不过我个人对grails的编程方式相当感兴趣,愿意去尝试grails。
另外一个感觉是,脚本语言的编程方式和编译语言非常不同,如果使用Grails,你会感觉到Eclipse无用武之地,似乎还不如
UltraEdit更适合开发。因此,即使是你从spring/hibernate的Java编译语言开发方式转向到封装
spring/hibernate的Grails,我仍然认为是一个巨大的开发方式的跨越,而Grails到RoR开发方式上则相当接近。
目前Grails相比RoR的弱点:
1、项目成熟度差得比较多,RoR已经1.1了,而Grails才0.1,从时间上来说,落后两年
2、groovy从语言级别上面来说,相比ruby还是有差距的,诚如potian所说。
3、我认为开源项目的成败往往取决于开发者本人的才华。RoR的作者DHH感觉上比grails的作者有才华。
不过RoR也有自己的弱点:
1、ruby目前在第三方开源库方面积累还很不够,相比Java开源库的信手拈来,还显得异常寒酸,需要几年的积累。这是Java目前相比RoR,甚至相比dotnet的一大优势(这也是Grails的优势)
2、我始终坚持认为没有VM,RoR是不可能进入企业应用的。potian说ruby2.0会引入VM,和JVM相比,理论上不存在性能差异。不过这里有两个疑问:
1) 一旦引入VM和对象生命周期管理,RoR还能不能保持目前的简洁易用,以及动态部署能力,值得观望;
2) RubyVM就算理论上可以不比JVM差,但是JVM我认为并不是开源项目容易成功做出来的,目前比较好的JVM,像Sun
Hotspot,BEA
JRockit都是商业JVM,而开源JVM性能都差强人意,RubyVM想达到JVM那么广泛的平台支持,没有强力商业支持,恐怕难以实现。
从将来来看,应用项目开发的主流编程语言应该是动态面向对象的脚本语言,比如说ruby,python,groovy什么的,这种趋势就像当年Java取代C++成为应用项目的主流一样,以后的若干年,Java也会面临同样的发展趋势。
当然,哪种动态脚本语言将来应用会更广泛,似乎现在看不出来,RoR现在风头最劲,但是ruby也是最缺乏VM支持的语言,groovy有JVM,python有zope。
总之,当大家把目光投向RoR的时候,也不妨关注一下Grails。
|
|
|