论坛首页 编程语言技术论坛

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

浏览 4701 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-08-11  

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

 

翻译来源:外刊IT评论

 

:)

   发表时间:2010-08-11  
rubygem基本上在github都有镜像,因为git的分布性,你可以自己把常用的gem都fork出来,自己维护。
0 请登录后投票
   发表时间:2010-08-12  
你真的不适合用Rails。
0 请登录后投票
   发表时间:2010-08-13  
楼主说的也在理儿.

提交到rubygems.org上的gem, 的确质量良莠不齐.    

现在提交一个gem多方便阿, gem push就上去了.
0 请登录后投票
   发表时间:2010-08-13   最后修改:2010-08-13
rails语言? 是个大菜鸟吧?gem和rails有毛关系?
0 请登录后投票
   发表时间:2010-08-13  
我觉得说的也有道理。
0 请登录后投票
   发表时间:2010-08-13  
开源社区是我们的朋友,不是爹妈!

持有楼主观点的人,其实完全不知道自己工作的重点在哪,如何发展,他最惬意的事情就是抓住一只会写代码的猴子替他把程序都写好,而不是看着自己的成果逐渐完善和壮大。
1 请登录后投票
   发表时间:2010-08-14  
gems host不是app store,所以没有必要设置准入制度
一个喧嚣的集市加上一个好的评价看板就可以很好的解决这个问题
ruby的gems有www.ruby-toolbox.com来做评价
rails的plugins有 agilewebdevelopment.com/plugins 做评价
这样足够了,没有必要去到处找各种gems和plugins来完成自己的工作
1 请登录后投票
   发表时间:2010-08-14  
kenken0y 写道
gems host不是app store,所以没有必要设置准入制度
一个喧嚣的集市加上一个好的评价看板就可以很好的解决这个问题
ruby的gems有www.ruby-toolbox.com来做评价
rails的plugins有 agilewebdevelopment.com/plugins 做评价
这样足够了,没有必要去到处找各种gems和plugins来完成自己的工作

有道理
0 请登录后投票
   发表时间:2010-08-14  
gem既不是rails SDK也不是app store。

开源系统有自己的一套生态系统和生存法则,用开源程序就要学会在开源生态系统中生存。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics