你会尝试在下一个项目中用Rails吗?

日期: 2011-07-13 作者:袁平 来源:TechTarget中国 英文

  我写这篇文章的目的并不是想把Java程序员拉到Ruby阵营中来,只是想让Java程序员们知道在有些情况下,Rails可能是一个更好的选择,并且通过学习Ruby会加深对Java语言的理解,也希望通过这篇文章能让您知道敏捷开发的魅力。

  刚开始接触Ruby很抵触

  在刚进入Rails的世界的时候,对于有4年JAVA开发经验的我来说,对Rails的抵触心理还是挺强的,原因有两个:

  1.想精通一门语言,不想分散精力,而且认为Java是很完美的

  2.看了下Ruby的语法,感觉非常乱,不像Java那样规整,简单

  我相信也有大部分Java程序员会和我有同样的感受。由于后面有一个项目由Rails实现是最佳选择。所以迫不得已开始学习Rails,看的书是《Agile Web Development with Rails 3rd_Edition》。

  对Rails观点的转变

  看了三章后,发现用Rails去实现一个Web应用是如此的简单,几十行代码就实现了Java几百行代码的功能。所以非常好奇的继续看下去,想知道为什么可以这么简单。通过学习慢慢发现了不少Rails的好处。

  习惯约定优于配置

  在Rails里没有很多的配置文件要去写,我想Java程序员最大的痛苦之一就是XML配置文件了,不小心写错了也不好调试,不知道问题出在哪里。之前Struts+Spring+Hibernate非常流行,要实现一个简单功能,你要配置几个XML文件?但在Rails里,使用约定就行了,当有特殊情况时,再去修改配置。

  代码简洁

  发现同样实现一个功能,代码量是Java的1/3左右,甚至还要少。

  对Rails越来越有好感,并且喜欢上它了。

  如何进行敏捷开发

  敏捷开发(Agile development)是一种以人为核心、迭代、循序渐进的开发方法。

  后来我们团队用Rails做了三个成功的项目,一个在线CRM应用,体会到了敏捷开发的好处。

  结对编程

  我们是两个人结对编程,做任何事情都是Pair的,包括分析、写测试、写实现代码或者重构。Pair做事有很多好处,两个人在一起探讨很容易产生思想的火花,也不容易走上偏路,还会及时发现一些小Bug。

  重构

  相信大家对它都很熟悉了,有很多很多的书用来介绍重构,最着名的是Martin的《重构》,Joshua的《从重构到模式》等。重构是在不改变系统外部行为下,对内部结构进行整理优化,使得代码尽量简单、优美、可扩展。我们经常会重构,好处就是项目代码一直是非常容易维护的。

  小版本发布

  在敏捷开发中,不会出现这种情况,拿到需求以后就闭门造车,直到最后才将产品交付给客户,而是尽量多的产品发布,一般以周、月为单位。这样,客户每隔一段时间就会拿到发布的产品进行试用,而我们可以从客户那得到更多的反馈来改进产品,不会发生客户说“这不是我想要的东西!” 的情况。

  客户一起参与

  客户是与开发团队一起工作的,团队到客户现场进行开发或者邀请客户到团队公司里来开发。如果开发过程中有什么问题或者产品经过一个迭代后,能够以最快速度得到客户的反馈。

  敏捷开发过程与传统的开发过程有很大不同,在这过程中,团队是有激情有活力的,能够适应更大的变化,做出更高质量的软件。

  性能

  据robbin说:“JavaEye的PV到了140万,仍然是单台Web服务器,Rails处理动态请求超过340万,除了真实用户访问,还有API,RSS以及很多爬虫的请求。”

  易趣,阿里巴巴刚开始也都用的PHP,国外的Twitter也用的是 Rails,我们在做了三个企业级项目和一个SaaS的CRM(WorkXP)之后,我们都没发现很多人所担心的性能问题,所以大家不用急着担心性能问题,如果真到了有性能问题的时候,说明你已经非常成功了,到那时再迁移到Java平台也来的及。

  小团队的最佳选择

  我非常同意JavaEye的robbin观点:“我认为目前小公司唯一的活路就是高效率的小规模团队,这样的团队才能充分发挥小公司灵活创新的特点,才有可能在某些方面战胜大公司,也才有可能在人才竞争方面胜出。”

  WorkXP只有2个开发人员,用了3个月的时间就上线了!为什么可以这么快完成这么优秀的产品?这正是Rails敏捷开发带来的好处。如果用Java开发,我不知道半年是否可以上线? 所以如果你是小团队创业,可以考虑用Rails敏捷开发。

  下一个项目,尝试用Rails吗?

  现在我们再打算做一个项目或产品时,会多了一个选择,用J2EE还是Rails?这个要根据团队实际情况和项目需求来定,如果是小团队创业,试一下Rails的敏捷开发吧,一定会给您带来不少的惊喜!

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

袁平
袁平

相关推荐