技术开发 频道

揭开Ruby on Rails成功之谜

【IT168 独家分析】在过去几年中,开源Web开发框架Ruby on Rails在Web世界中掀起一个小小的热潮。和软件领域中的许多事情一样,它的作用有些被夸大了。

    没有什么东西能和人们对它宣传的一样神奇。但是Rails至少已经接近了这种高度,因此它同样值得我们对其进行研究。 

    不久以前,人们在问Rails是否会获得成功。我现在还保持当时对这个问题的看法。事实上,它已经取得了成功。那么我们现在或许会问:它为什么会取得成功?

源于真实世界的需要 

    Ruby on Rails在2004年发布了它的第一个公众版。现在它已经不是一个蹒跚学步的孩子。在2005年,David Heinemeier Hansson因为这个软件程序获得了“年度非常好的黑客”奖项。在2006年,Rails赢得了2006年度Jolt大奖的非常好的Web开发工具。Ruby on Rails和它的作者何以能获得如此殊荣? 

    我在这儿要指出的是Ruby和Ruby on Rails不是同一件事物。当然老手们都知道这一点,不过一些新手朋友或许对此还比较模糊。Ruby本身是一种语言,和Perl或Python类似,其早在1993年就开始出现。而Ruby on Rails则是一个使用Ruby语言编写的Web框架,大约在2003年开始出现。 

    Rails所掌握的第一件秘密武器就是,它来源于真实世界中的应用程序。Rails并不是最初的目标产物,当时是为了开发一个叫做Basecamp的Web应用程序。在Hasson和其他人开发这个应用程序的时候,他们多次发现,Web开发是一件令人痛苦的事情,而且耗时、具有反复性和注重细节。这给了Ruby on Rails一个诞生的机会。 

    在编写这个高度浓缩的Ruby编码的过程中,Hansson开始从界面的本质进行提炼,于是就诞生了Ruby on Rails。因此说它源于真实世界的需求,源于使用中的代码,源于开发者的每日体验。 

    Rails还受益于我所说的“二次编写”的原则。在创建一个系统的过程中,尤其是一个大型系统中,开发者学习到一些新的信息,发现了一些未曾预见的问题。每一个有经验的开发者有时候会想,“如果让我再次编写这个系统的代码,我可能会做的更好。”重写的代码往往更清晰、更简洁和更完善。它不仅仅是在技术上的改善,还包括更易维护、更易扩展和更强大,有时候甚至运行的更快。“编写、丢弃、再编写”的手法是一个令人难以置信的强大工具,但是因为时间和成本的考虑,它却很少被人们所使用。但是在Rails上的确应用了这种原则:它首先被作为一个应用程序的“内脏”被编写,然后被重新编写,进行抽象化以使其可以被任何Web应用程序所使用。 

    在Rails的成长过程中,它在代码中也积累了很多不好的地方。和清扫房间一样,软件维护也是一个永无止境的过程。但是由于它实际上是一个二次编写得出的系统,当Rails最终公开发布的时候,它已经比原来显得更简洁更完善了。 

    而且,我已经提到过Rails是开源的。这是一个重要的因素。Ruby on Rails可以被任何使用它或喜欢它的人来进行维护。他们可以根据自己的需要来增加功能,这是一个人人可参与的“草根”产品。

0
相关文章