从CakePHP切换到Ruby on Rails有多难?

时间:2011-03-30 15:39:34

标签: ruby-on-rails cakephp

过去两年,我们一直在使用CakePHP构建a web application。到目前为止,我们非常喜欢CakePHP,并认为它很棒。我们在开始之前评估了Ruby on Rails,但决定使用CakePHP,因为我们的团队对PHP / MySQL更有经验,而且聘请RoR开发人员似乎更加困难/昂贵。

最近,我们一直在考虑RoR,因为:

  1. 许多新的非常成功的Web应用程序 是基于RoR构建的,大多数都使用漂亮的简单
  2. 用户群,文档, 能够找到RoR的答案 似乎比CakePHP大。
  3. PHP有很多种类 通常我们接近的开发者说 他们知道CakePHP,但他们真的 程序PHP,不要坚持CakePHP 约定。
  4. 创建了Ruby on Rails 通过成功的盈利 依赖于代码库的业务。 因此,给我们假设 RoR的改进速度会快于 CakePHP的。
  5. 包裹管理让我们     相信插件更容易     在RoR上安装而不是CakePHP。
  6. 考虑到这一点。我们的问题是:

    1. 经验丰富的人有多难 CakePHP程序员切换 CakePHP到RoR?
    2. 它的任务有多大 重写一个中等大小的CakePHP(严格遵守约定) RoR中的Web应用程序

3 个答案:

答案 0 :(得分:4)

PHP是一种与Ruby完全不同的野兽。 PHP并不像Ruby那样接近面向对象,并且起初是一个非常大的脑弯曲。也就是说,我认为一个能够很好地掌握通用语法的可靠程序员应该能够相当容易地学习新类型的语法。

$a = new A();

没什么不同
a = A.new

就Cake而言,vs Rails,这是另一个整体怪物。使用导轨进行开发很快。非常快。但是当你在飞行中转换整个应用程序时,你需要一个能够真正分解其组件的人,快速进入螺母和螺栓。所以你可以为每个人拼凑一个骨架来“填写”。至少,这可能是我接近它的方式(虽然我通常会等待'预定'重写应用程序以转换为全新的语言。)

在团队中拥有一些非常有经验的RoR开发人员(至少在过渡期间)可能会显着加快流程,并使您的团队尽可能快地工作。它可能会花费你更多的速度来加快速度,但它会大大提高生产力。虽然我不能说出那些经验不足(不同的答案)的经历,但我从经验中知道,一旦你开始用Ruby编写并获得Rails的要点,实现的东西比用PHP(YMMV)花费的时间少得多)。虽然在Rails中完成某些工作的方式与常规开发实践(例如,ActiveRecords,完全改变大多数人与数据库交互的方式)相同。

最后,与几乎任何其他基于框架的社区相比,RoR社区是庞大的。这本身就很漂亮,并且让你真正利用PHP社区中不存在的许多不同的部分。

希望这有帮助!

答案 1 :(得分:2)

您可能希望聘请Rails开发人员。这将是缓解过渡进程的重要一步。

一位优秀的程序员将至少在阅读Learning Ruby的重要章节之后快速掌握Ruby。然而,Rails开发非常关注最佳实践。阅读Rails Guides将会让你走得更远,但是对于那些拥有Rails项目经验的人来说会更容易。

在学习/开发Rails兼职3个月后,我领导了一个项目,其中有5名学生根本不了解Ruby或Rails。在一周内,我可以教一个开发人员Rails的基本工作,并在1-2周内,每个人都可以自己开发。我们在3个月内建立了一个生产就绪的中型应用程序。这不是太难。

答案 2 :(得分:1)

这有点争论,但这就是我的想法:

  1. 您正在选择切换到Rails。我相信你一定会喜欢它。
  2. 我不会撒谎。 Rails有着陡峭的学习曲线。这很困难,需要大量的学习。
  3. 一旦你知道如何使用Rails做事,就没有更快的方法来开发Web应用程序。
  4. Ruby帮助程序员,Rails帮助程序员。一个很好的事实。
  5. 我一直在重写从PHP到Rails的浏览器游戏。 2周后,大约60%的工作完成了。