近期研究ROR的一点总结




    ruby的rails,python的django,groovy的grails,java的play。。。


    如今的DRY原则真是遍地开花,近两年让人目不暇接。


    我花了点时间,对他们进行了使用和对比。总结如下:


    一、rails可以说是鼻祖,这方面的口碑不错,技术文档和书籍都足够使用。但是,从多个对比数据看,性能上始终处于落后位置。(无论这些数据是否真实,但太多的对比结构却都一致),并且,作为“鼻祖”,被青出于蓝胜于蓝的感觉太强烈


    二、django,结构设计非常精彩,在其它三个框架内不太容易实现的操作方式,对django来说,都是轻而易举。并且,python语言的天生优点,导致后期开发相当灵活,看上去,非常迷人。可惜,python语言总体被支持程度,尤其是对第三方开源库的管理上,欠缺很大,导致稍微复杂一点的应用,没有现成的第三方库支持,手工劳动必然增多,研发与维护成本将是考验


    三、grails,站在groovy势不可挡的宣传力度上,再加上终于找到靠山(grails的作者与groovy作者合作后被spring收购,又被vm收购。。。),尤其它的插件,极其丰富(就是质量管理太差)。所以,他们喊出了search is over的豪言壮语。我在使用的时候,心情一开始非常机动,(但都激动在了groovy本身上)。马上,对hibernate与spring的严重依赖,导致灵活性下降的弊病暴露出来。甚至你想实现一个简单的多数据源切换与灵活配置,都变得非常困难。(虽然有datasources插件,但仔细看看它的代码,相信就不敢产品级使用了)


    四、play,它是悄悄出现,却最受重视,从官方网站上的评论中就能看到,国人的出镜率很高。虽然站在代码角度,它离真正成熟还有一段路要走。不过,从已经公布的路线图上看,它有很强的针对grails的感觉,但凡grails操作略显麻烦的事情,play都以框架级解决。并且,它的插件也很丰富。尤其是管理者对文档的编写上,的确花了不少心思,也占了java语言的便宜。简单、明了,一看就懂,实在是优点。


    综上,虽然我个人对web领域的MVC情节很重,而这些DRY思想的框架也带有强烈的征服感。而我给出的结论,路依旧很长,他们的成熟度整体不高。尤其是性能风险,如果没有多年经验的年轻程序员,将无法避免的陷在“美丽的恐怖”当中。


    这也是至今他们都仍然没有被大规模平台考验的原因。


    如果让我给意见,我建议所有的web开发者们,都必须研究他们,他们是方向,当你拿着高薪用perl开发web的时候,底薪的php程序员们已经注定去淘汰你。今天的DRY们就是这个目的。随着研究的深入,也随着他们日益成熟,现有web开发模式升级的时代应该在近3年内出现。(如果不考虑调岗,就要考虑升级)


    如果让我建议用哪个,我建议企业产品应该以grails为主,因为grails发展动力,至今是最强的,并且在spring的全力支持下,首先提供了云计算插件。如果针对普通web门户,我建议使用django,虽然存在很多手工劳动,但它在稳定、性能、成本间是最高的。如果针对政府项目,我建议用rails,拿来现成东西改改就行,并且这个领域里使用它的人不多,一旦客户想更换技术服务,技术本身就成为你的保护。如果是“富客户端”环境,我建议用play,它的学习成本几乎为零,插件管理也比grails出色。当然,这些建议只是一种“闲聊”,请务必当真。习惯和阅历,往往已经决定了你所有的选择。


    除了这些,建议大家强烈关注scala,这个语言虽然年轻,但不久的将来,一定会有一批基于它的框架出现。同时也建议大家都应该继续关注php,无论你站在企业应用角度挑出它多少毛病,它的简单易用(有些问题不可解决,也就不用理睬,能不显得简单吗)背后,已经呈现出一些不甘被超越的路线图,相信php未来2年内会推出让fans们期盼10年才更来的功能。


    总结完毕?还差一点,就是对java的想说的几句话,明明可以拥有比动态语言更丰富的语言级支持,但就是迟迟没有动作,真不知道oracle怎么想的,难道“让它死”的传言属实?不过,积攒了全球数百万的技术社区和堆积如山的开源库,将决定了它不可能消亡。我们能做的,就是天天期盼,慢慢等待,等待java在web上的新生(严格的讲,java就没在web上有多大作为)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值