大家怎么看? 这篇文章应该是 Posterous 公司人写的。看到了转过来看看大家的意见。 英文原文:http://sachin.posterous.com/writing-rails-code-makes-me-miss-writing-in-o 中文翻译:http://www.aqee.net/rails-needs-an-approval-process-for-gems/
写 Rails 程序的经历让我想念 Objective-C,和 C 和 Java。
当用 Rails 语言开发时,基本上一半的时间花在写自己的代码上,另一半时间花在你所使用的其他人开发的 gems 和程序包上。这些第三方提供的程序包似乎从来没有正确的工作过。很多都是 bug 多多。很多都是作者按着自己想当然的想法开发的。
不可避免的,你必须深入到这些程序包里去修改 Bug。在我们公司的 Posterous 基础代码库里到处都是讨厌的补丁,用来修改这些 gems,使它们能按照我们希望的方式工作。
gems 里有无数的小程序片段。你需要一个处理队列的程序包吗?你需要处理 url 的程序吗?到处都是这样的小程序。而且大多数已无人维护。你最好是选择使用那些一年前还有人维护的程序包。
对比在 iPhone 上的开发:我记得去年在使用 iOS SDK 时发现了一个 bug,但还没来得及反馈这个问题,它已经被修复了。我相信经常使用它的人会发现更多的 bug,但我的整个开发体验确实很舒畅的。
同样的,我们的 Posterous 使用 Java 做了大量的 email 处理操作。数年的开发 email 引擎中,我没有在这些框架中发现一个 bug。很显然这些 Java 框架非常的有历史,都很成熟。
在一天的工作中,我需要借助这些高质量的框架使我专注于我的代码和我的产品。我希望是利用那些程序包,代码库,而不是跟它们做斗争。
iPhone 的 App Store 就是专门来解决这个问题的。它过滤了那些残碎的小程序,过滤了重复,确保所有的 app 都有很高的质量。我觉得 Rails 正需要一个相似的 gem 代码库机制。
但 Rails 有什么呢?是开源软件让开发人员都懒惰了吗?还是因为 Rails 发展的太快才导致顾不上质量?但 Rails 跟其它的开源 web 框架比较起来有什么特殊的吗?
我真的不是想在这里惹大家不高兴(但我知道肯定有人想踹我)。Rails 开源社区运行的不能再好了。它使我们在开发 Posterous 时比 使用其它任何框架都要有效率。我们甚至还开源了部分我们最近开发的东西。我只是一直被一些不能好好运行的程序所苦恼。毕竟 Rails 让人感觉还不是很成 熟。