技术开发 频道

Rails应该对Gems实行准入许可制度

  【IT168 评论】写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让人感觉还不是很成熟。

0
相关文章