译文

从ROR团队学到的工作方式

翻译:gladstone | 2009-04-30 18:41:06 | 阅读449 | 来源

在惊叹于Ruby On Rails快速开发的同时,对于其开发速度的根源觉得不可思议的人恐怕也很多.

Ruby On Rails是37singals公司的David Heinemeier Hansson为中心的十一名团队成员组成的开发团队所开发的.

根据使用Ruby on Rails开发Web应用的几个屏幕录像来看, 他们的主要开发环境是MacOS X。根据八卦消息,开发团队的11位成员全部都是在使用MacOS X。

从37signal公司学到的快速工作的技巧

那么,提供了工程管理工具Basecamp等对项目进行有助的程序服务的37signals公司是怎么样运用这些工具,实现快速工作的呢?他们好像积蓄着快速工作的诀窍似的。从37signal的博客,我们可以看到他们是怎么快速开发的。

  • 文本编辑/HTML和CSS的编程使用的编辑器: TextWranglerTextMate、Vim TextMate的代码提示和补完功能非常的灵巧优秀,是面向程序员的轻量文本编辑器.在编写Ajax时经常使用的prototype.js和Ruby代码提示也有了。但是不能输入日语.
  • Quickbooks Pro 2006 for Mac 面向中小企业的财务会计软件。
  • 技术支持使用的是Gmail和英文适用的输入法TypeIt4Me 缺陷管理使用的是Trac,Trac是一个基于WIKI的工程门户工具
  • 发布新闻通讯使用Campaign Monitor 這是一個有報告功能的發布工具。
  • 面向公司外部的开发博客使用Movable Type
  • 收取最新信息,生成RSS,使用Feedburner
  • 工程管理工具使用Basecamp、Backpack的论坛功能使用的是PunBB
  • 开发机器使用的是PowerBook和iMac G5。测试机器用的是戴尔的PC
  • 在线收费和信用卡收费服务使用的是Authorize.net
  • Web服务的提供商是位于他们芝加哥的Tilted
  • 使用Adobe InDesign 制作排版规范优美的文档
  • 小组内的远程交流使用的是iChat、Skype、Adium(多重IM)、Campfire
  • CRM工具使用Sunrise(37signals正在開発中)

从 上面的轻量小工具列表来看, 可以看出这是一种没有任何累赘的轻量快速开发形式。虽然只是不清晰的一瞥, 但是列表中其实集合了对于从事Web应用开发的企业来说必须的工具。这对于以后有志于提供Web应用服务的人和现在 在企业里从事Web应用开发和提供服务的人来说, 应该也有很大的参考价值。

37signals提供的几个工具(WriteboardTa-da List等)都是他们自己开发中使用的东西,是高质量易使用的好工具.

使得开发能顺利进行的部署工具(以前的SwitchTower)

Capistrano(以 前叫SwitchTower)是主要面向Ruby on Rails应用的应用部署工具。以前的名字SwitchTower.因为和一个提供网络视频会议的叫Raindance Communications的公司的登录商标重名录,所以最近把名称改为了Capistrano(Capistrano作为一般的部署工具,好像也可以 应用到Ruby on Rails以外的Web应用中)

开发Web应用的时候, 肯定要先在本地的开发环境进行反复开发,执行和测试, 然后再在公开的网络环境上的服务器上部署测试和运行, 如果有发现缺陷的话, 还要反复进行上面的开发部署流程, 在本地的增加新功能或者修正缺陷的情况下,只要有一点点执行步骤上的失误, 也有导致应用不能够正常运行的危险.

Rails的空间提供商railsmachine公 开了一部名为“5分钟部署”的屏幕录像。在这个屏幕录像中,向人们展示了使用Capistrano,可以简单准确顺利地进行应用的部署。 Capistrano的好处是,自动生成各种设定文件,通过远程控制服务器的操作来很大程度上减轻作业的繁杂性。基于GUI的部署工具当中,在服务器的哪 个地方发布了哪些文件并不十分明了的,透明度比较低的工具也是有的。 Capistrano虽然并不华丽,但是根据工具进行的操作具有很高的透明度,这也使开发者感到很安心。

使用Capistrano部署应用的画面

开 发初期或者原型时期的文件构成比较简单,部署工作也很简单,但是实际运用工程的时候随着频繁的修正缺陷和功能扩张,面对部署的重要性和复杂化的文件构成, 会感到不知所措。还有一个本地开发环境部署到多个服务器的情况,会让人觉得要是能够简单部署的话就谢天谢地了.如果利用Capistrano,还可以在发 现严重缺陷的时候简单地"回滚"到之前部署的正常状态. 
从时间充裕的开发初期开始就使用Capistrano来确立一系列开发部署流程,可以乘着快速的铁道(Rails)走上较为顺利的开发坦途.

相关书籍

【本文翻译仅为外语学习及阅读目的,原文作者个人观点与译者及译言网无关】

分享:

添加评论