Ruby on Rails

Ruby on Rails真的开始热门了。现在已经走过了初期宣传的阶段,开始有早期尝试者,譬如易做网。而现在的问题是,RoR能不能承担大规模企业应用的需要?当然我目前并没有想到究竟什么状况下它可能承担不了,关于“能否支持LDAP”的问题,potian的回答是“可以”。但仍然会希望,如果在某个时候RoR搞不定了,J2EE(现在流行叫JavaEE)能不能come to rescue。如果有这样一条途径,那么就会有更多的人、更多的项目敢于尝试RoR。所以,这是很重要的一步。

而对于这一问题,目前的资料都是语焉不详的??如果不是全然无涉的话。IBM developerWorks有一篇“Ruby on Rails and J2EE”,TSS也有一篇同名文章,但着重的都是comparison而不是collaboration。这类文章只在初期宣传时有用,真正进入尝试期就没有什么帮助了。同样,可以看到,在RoR新闻组上的讨论也是有始无终。看起来,只有再等一段时间,等RoR实际项目的负面报道出来了,大家才会真正重视这个“关键一步”。

一个遥远而偏僻的村里,有一群人在听一个电脑工程师讲电脑这个东西如何如何好,并且打算把电脑引进本村。大家都对电脑的神奇充满了好奇与期待,当最后终于大家一致同意引进电脑的时候,忽然发现一个问题:村里没有电。

电脑好吗?当然好。但没有电就什么用也没有。rails好吗?当然好,但没有服务器虚拟主机的广泛支持,那就竹篮打水一场空...

一开始的话题是Groovy,就我看到的情况,不管做web应用还是处理XML,凡是Groovy能写的程序,Java就没有比Groovy写得简单的。然后话题又扯到了,俩人坐在一块看介绍文章,感觉Cω处理XML和SQL的方式确实有新意,但是强类型声明使它的语法相当难看。看起来,脚本语言应该是下一代语言的基本范式,起码强类型声明不能再要了。实际上,按照Cω现在拥有的语境判断能力,处理类型应该是很轻松的事。

看完Cω中场休息,然后开始看Ruby on Rails。按照O'Reilly LAMP上的一篇文章介绍,我动手做了一个简单的web应用,包括对一个model的CRUD操作,并且定制了view。除去安装Ruby和Rails的时间,总共耗时5分钟,编写代码4行(含修改配置文件)。除了考虑到Ruby没办法很轻松地访问企业级基础设施服务之外,用Rails来做小型web应用简直是太轻松了。并且根据Justin Gehtland的评测,Ruby on Rails做出应用程序的性能甚至比基于Struts和Hibernate的Java应用高了15%~30%。

语言和平台的简化似乎已经迫在眉睫了,不论Java 5.0或者C# 2.0,在这条路上的步子似乎还嫌小了一些。Ruby on Rails和IronPython都是脚本语言在企业化方向上激动人心的进展。Rails的一大特点是“重视约定俗成胜于配置”(convention over configuration),细想想,J2EE的很多XML配置确实是??在80%的情况下??毫无必要的。

没有评论: