近期研究ROR的一点总结

原创 2011年04月22日 19:41:00




    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上有多大作为)。

相关文章推荐

近期接sdk的一点小总结1->AndroidManifest.xml各部分的作用

由于我是用的cocos2d-x3.6嵌的sdk,所以只对这个版本的AndroidManifest.xml进行说明 从上往下说: 1. package="",包名。由于一些sdk对包名有特定的要求,所以...

近期接sdk的一点小总结3(单机)

1. armeabi-v7a是在android5.0及以上使用的,5.0以及以上版本优先从armeabi-v7a中查找资源文件,没有这个文件的时候会从armeabi中     查找所以打的包都不要有这...

对BAT近期招聘职位的一点分析总结

今天对BAT三家近期的一些招聘职位进行了一点分析和总结。比较巧合的是,三家各取了7个职位。不过这不是随机抽取的,而是依据本人的喜好。比如,有关数据挖掘或机器学习气息比较浓重的就没有选取;又如,所选取职...

近期接sdk的一点小总结2(单机)

c++与java相互调用:当点击游戏购买某一个道具时,步骤是: 1.      这个步骤可以理解为调用我们写的java函数前一个固定写法,要先通过静态方法来“唤醒”java,如果不加的话会产生闪退等b...

轨迹研究近期国内论文

  • 2016年01月19日 21:36
  • 18.48MB
  • 下载

并行文件系统近期的一些研究

作者:朱赛凡 近期对并行文件系统做一些一些研究,主要阅读了GPFS、ceph论文,同时查找了一些行业使用并行文件系统的应用场景。总结如下: 1 并行文件在性能方面主要优势是通过“条...

大牛公司机构近期研究报告大合集

免费获取『大牛公司机构近期研究报告大合集』(阿里、腾讯、麦肯锡、毕马威、德勤、普华永道等十多家倾情巨献!) 2016-02-13 訂阅▷▷▷ 数据局 不发福利的公众号,不是好公众号! 为...
  • lm_soso
  • lm_soso
  • 2016年02月24日 10:29
  • 1518

杨善华等:近期中国农村家族研究的若干理论问题

【摘 要】随着农村现代化的进程,农村原有乡土社会中存在的差序格局出现了理性化的趋势。家族在当今农村社会发展中的作用具有两重性,既有不利于社会稳定的一面,也有家族成员尽量让家族适应现行社会体制和结构以维...

对于学习ror的 半年的总结及下一年的计划

由于当初进团队的需要,学习了ruby,但是当时还不知道ruby可以干什么,但是是第一次听说了这个语言,不了解,也不清楚,也不感冒。当时的目标只是进团队。但是到了现在的学习,渐渐的庆幸自己当初的选择,也...

关于审计的一点研究(转)

  • 2012年06月13日 13:12
  • 64KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:近期研究ROR的一点总结
举报原因:
原因补充:

(最多只允许输入30个字)