2009-11-16 59 views
10

我正在为一家为我工作的IT公司的客户开发一个项目,我相信Rails是完美的。我在第二天左右开会,恐怕我会受到“为什么Rails?”的轰炸?毫无疑问,像“Rails没有扩展”,“Rails只是一个CMS”以及其他人似乎对Ruby on Rails的其他一些神话似的一大堆修辞。砸烂Ruby on Rails神话

我们似乎都有关于Rails如何不扩展的争论,很难部署,或者在任何特定时刻都会爆炸。对于那些每天使用Rails的人来说,我们知道就像任何其他语言或框架一样。好像有很多关于RoR的错误信息,并且Rails经常会得到一个错误的包装。为了帮助我参加这次会议,我希望编写一份神话清单 - 可能是每个答案的一个神话 - 并且我们可以投票支持我们之前听到的神话 - 消除恐惧,不确定性和怀疑,这常常掩盖真相轨。

一些谷歌搜索后,我发现this blog post这正是我想在这里整理的东西。正如戴维·海因梅耶尔·汉臣说,在后:

所以我认为这将是约时间 打抱不平多项 毫无根据的恐惧,不确定性和疑虑 。我将通过这些当时的神话之一,并告诉你 为什么他们只是不正确。

这不是真的说服你 你应该使用Rails。只有 你可以做出该选择。但给你 你的事实,所以你可以让你自己的 知情的决定。一个不是 成立于浮动的许多神话 左右。

让我们澄清吧!

+8

您可能希望尝试从更客观的角度接近它 - 问问自己潜在问题是什么,然后调查它们是否是现实中的问题,以及您将要进行的项目。如果你从“Rails对这个项目来说是完美的”的角度来看待它,那么任何缺点都必定是个神话,“你不可能得到一张精确的图片。 – 2009-11-16 11:31:21

+1

因为不能有一个正确的答案,所以也许可以将其设为社区wiki。 – 2009-11-16 11:31:32

+0

我承认它不完全客观 - 并且没有一个单一的答案(所以我创建了一个社区wiki) - 但它更多的是关于了解Rails的不真实情况,因为我从客户端获得的任何有关* not *的论点Rails不会来自一个深入研究的观点。我试图用自己的武力反对不合逻辑的或“虚构”的反对使用它的论点,而不是反其道而行之。 – Ash 2009-11-16 11:36:39

回答

6

神话: “Ruby on Rails的不规模”

胸围:这不是一个具体的,回答的问题。请澄清。

说什么技术“不规模”听起来非常专业和非常企业 - 但这不是一个明确的问题。这只是一种懒惰的方式,否定未知/未经证实的问题,我会要求澄清:

“你的意思是'规模'究竟是什么?你现在怎么衡量它?

这可能意味着:

  • 最大用户会话
  • 平均响应时间定负载
  • 吞吐量在固定的时间每个服务器的并发给出的方案。
  • ...组织项目时遇到困难,因此需要一个大型的开发团队来解决这个问题。

有很多方法来处理“规模”,但直到你知道你处理哪一个,并不总是很明显该怎么做。

有基于Ruby的解决方案的负载,包括HTML

  • 分片在多个数据库应用
  • 这样用户
  • 推手之间共享预先计算工作

    • 缓存片段将视图渲染到AJAX/Javascript域中,以便在客户端上使用前端Web服务器
    • 只是使用更多的硬件(即开发者的时间是昂贵的,但是这种方法取决于需求增长的浅表速度
    • 做得较少交互式并且有更多的批量工作
    • 只做红宝石的一部分工作 - 例如,现有的传统后端+轨前端,或者也许是通过交易的功能编程系统+轨前端

    如果挑战者不能拿出的“规模”的具体含义那么它是不是一个有效的关注。

    但是,如果挑战者确实拿出一些具体和可衡量的,然后我会使用一个timeboxed,标溶液http://c2.com/xp/SpikeSolution.html)有一些数字回来 - 可能就怎么做几个选项它。

  • 4

    从客户理解的唯一角度提出观点,金钱!

    显示您认为在Java,JSP或他们当前的技术中需要花多长时间,以及优点和缺点,比如更容易获得开发人员。然后,在Ruby中陈述时间尺度,这肯定会降低开发成本,但也是以管理员不得不部署不同系统为代价的,可能难以招募知道Rails的人员等等。这是他们的钱,所以给他们事实并让他们做出决定。

    为了回应公司对Ruby on Rails的具体批评,与他们自己的系统相比,公司可以给予很多理由,其中一些原因并不特定于Ruby或Rails,比如他们已经有很多Java开发内部或使用Java编写的现有基础架构,这些使用相同的语言系统(如Java)将始终更易于使用。无论如何,回答你的具体问题:

    1)为什么选择Rails? 简单来说,Rails是为构建网站而“设计”的,并且做了一项高效的工作。寻找一些统计数据来支持你(我不是说在链接的统计数据是准确的,但数字会一直打动客户端)

    http://www.theserverside.com/news/thread.tss?thread_id=33120

    2)Rails没有规模

    http://trak3r.blogspot.com/2008/03/rails-doesnt-scale.html

    3)Rails只是一个CMS? 如果他们正在构建CMS,那么推荐Drupal,而不是Rails

    我想你在回答你的客户问题时不得不考虑你的脚,他们会希望有人了解除了Rails之外的其他框架,就像使用合适的工具进行正确的工作

    +0

    钱与公司类型谈判。 +1 – 2009-11-16 11:56:22

    +0

    这不完全是“问题”的精神所指的意思。虽然你提出了有效的观点,但并不完全意味着什么。 – Ash 2009-11-16 11:57:34

    1

    神话:很难聘请一位优秀的Ruby on Rails程序员。

    (其实,我不能摔坏了,这只是一个潜在的神话谁可以,请编辑这一个或创建另一个答案的想法。)

    +0

    这有什么困难吗? Rails开发人员的数量 - 或者Rails开发人员的素质 – 2009-11-16 12:54:09

    2

    误区: Rails的还不够成熟要在其周围建立大量强化的开源库,需要快速可靠地实现大规模项目。

    胸围:实际上,RoR社区有很多宝石和插件可供使用,其中许多已经被活跃的社区试用和发现。这里不仅有资源,还可以通过'gem'和Rails的内置插件架构进行管理。最坏的情况:你找不到那个完美的宝石或插件。在这种情况下,如果您使用JRuby,则可以轻松地编写自己的Java或从Java世界借用。