`
找不着北
  • 浏览: 315288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Rails应该对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让人感觉还不是很成 熟。

 

翻译来源:外刊IT评论

 

:)

分享到:
评论
11 楼 sword721 2010-08-18  
ray_linn 写道
rails语言? 是个大菜鸟吧?gem和rails有毛关系?


什么时候出来的rails语言?我奥特了
10 楼 samsam 2010-08-17  
LZ说的还是有道理的,所以选择gem,plugin的时候还是挑比较流行,口碑比较好,比较成熟的用,免去很多麻烦事
当然比较开放的话,可以让每个人参与到社区中可能也是好处之一,人多力量大嘛
9 楼 rubynroll 2010-08-14  
gem既不是rails SDK也不是app store。

开源系统有自己的一套生态系统和生存法则,用开源程序就要学会在开源生态系统中生存。
8 楼 Hooopo 2010-08-14  
kenken0y 写道
gems host不是app store,所以没有必要设置准入制度
一个喧嚣的集市加上一个好的评价看板就可以很好的解决这个问题
ruby的gems有www.ruby-toolbox.com来做评价
rails的plugins有 agilewebdevelopment.com/plugins 做评价
这样足够了,没有必要去到处找各种gems和plugins来完成自己的工作

有道理
7 楼 kenken0y 2010-08-14  
gems host不是app store,所以没有必要设置准入制度
一个喧嚣的集市加上一个好的评价看板就可以很好的解决这个问题
ruby的gems有www.ruby-toolbox.com来做评价
rails的plugins有 agilewebdevelopment.com/plugins 做评价
这样足够了,没有必要去到处找各种gems和plugins来完成自己的工作
6 楼 trace 2010-08-13  
开源社区是我们的朋友,不是爹妈!

持有楼主观点的人,其实完全不知道自己工作的重点在哪,如何发展,他最惬意的事情就是抓住一只会写代码的猴子替他把程序都写好,而不是看着自己的成果逐渐完善和壮大。
5 楼 qichunren 2010-08-13  
我觉得说的也有道理。
4 楼 ray_linn 2010-08-13  
rails语言? 是个大菜鸟吧?gem和rails有毛关系?
3 楼 dazuiba 2010-08-13  
楼主说的也在理儿.

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

现在提交一个gem多方便阿, gem push就上去了.
2 楼 yorzi 2010-08-12  
你真的不适合用Rails。
1 楼 花花公子 2010-08-11  
rubygem基本上在github都有镜像,因为git的分布性,你可以自己把常用的gem都fork出来,自己维护。

相关推荐

    rails-4.2.0-gems

    `rails_setup`这个文件很可能包含了安装Rails 4.2.0及其相关GEMS(Gem包)的步骤和配置。通常,安装Rails涉及以下步骤: 1. 首先,确保已经安装了Ruby 4.2.0。如果没有,可以使用Ruby版本管理器如RVM或rbenv来安装...

    rails need gems

    rails need gems

    gems使用手册ruby on rails

    gems使用手册ruby on rails,真的很好很好很好用啊

    ruby gems (rails ,padrino, cancan ,puppet)

    在提到的标题和描述中,我们聚焦于四个特定的Ruby Gems:Rails、Padrino、Cancan和Puppet。这些Gem分别在Web开发、轻量级框架、权限控制以及配置管理方面起着重要作用。 Rails是Ruby on Rails的简称,它是一个基于...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    Ruby on Rails入门例子

    Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构...同时,Rails社区的活跃度高,有大量的插件和 gems 可供扩展功能,为开发者提供了丰富的资源和支持。

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    rails 的安装

    通过以上步骤,你应该能够成功地在你的机器上安装和运行Rails。不过,Ruby on Rails是一个庞大的生态系统,有很多深入的主题值得探索,如MVC架构、ActiveRecord、路由、控制器、视图、测试等。随着对Rails的理解加深...

    rails API(html)

    自制 命令: rails doc cd doc rake rails:freeze:gems 或 rake rails:freeze:edge rake doc:rails 在rails_app/doc/doc/目录中就生成了一个API目录,即可

    centOS Rails3环境搭建

    ### CentOS环境下Rails 3开发环境搭建详解 #### 一、准备工作与环境配置 在开始部署Rails 3开发环境之前,我们需要确保系统上已经安装了一些基本的软件包和工具。这一步骤对于后续的Ruby和Rails安装至关重要。 ##...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    在Rails 2.2.3时代,社区已经发展出很多插件和 gems(Ruby的扩展库),如Devise用于身份验证,CanCanCan进行授权管理,Paperclip或Carrierwave处理文件上传等。虽然这些可能需要适配老版本,但它们能极大地增强你的...

    Rails

    综合以上信息,学习和掌握Rails需要理解其核心组件和设计理念,熟练使用相关工具,阅读源码以加深对框架运作的理解,并通过实践项目来巩固理论知识。Rails是一个强大且高效的Web开发框架,它简化了许多常见的开发...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    RAILS2.1的中文版资料

    Rails 2.1增加了对时区的支持,这意味着应用程序可以更好地处理不同地理位置用户的时间显示问题。通过这一特性,开发人员能够确保应用程序中的日期和时间能够准确地反映用户的本地时间设置。 **脏数据追踪(Dirty ...

    好用的rails 2.0 Api 文档

    Rails 2.0 API 文档是一个非常宝贵的资源,它为开发者提供了全面的指南,以便于在使用Ruby on Rails 2.0版本时更好地理解和利用其框架功能。Ruby on Rails(简称Rails)是一个开源的Web应用框架,它遵循MVC(模型-...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    使用Aptana+Rails开发Rails Web应用(中文)

    安装过程中,遵循提示进行,确保选择自定义安装并勾选Rails相关的插件,以便在Aptana中获得对Rails的全面支持。 安装完成后,打开Aptana Studio,创建一个新的Rails项目。在“File”菜单中选择“New”然后点击...

    Ruby on Rails Tutorial Learn Rails by Example 的源代码

    《Ruby on Rails Tutorial: Learn Rails by Example》是Rails学习者们常常参考的一本书,由Michael Hartl撰写。这本书通过实际的示例项目“sample_app”引导读者深入理解Rails框架的各个方面。现在,我们来详细探讨...

Global site tag (gtag.js) - Google Analytics