将Rails与PHP比较为非技术受众

Bry*_* M. 4 php zend-framework ruby-on-rails

我最近在一家小公司接受了采访,希望大大增加其网站,包括重新编写Flash主页和开设电子商务网站.如果获得该职位,我将成为员工的唯一开发人员.

我已经使用Rails多年了,并且在相当长的一段时间内没有看过PHP.但是,如果我要获得这份工作,我就可以推荐这个框架,因为没有任何精通发展的人员.

我认为对于许多非程序员而言,PHP仍然具有巨大的名称识别作为构建网站的语言,因此它充当许多公司的逻辑默认.

如果我获得了这份工作,我怎么能比较Rails与PHP的优缺点(使用适当的框架)而不涉及技术术语?这里的一个关键考虑因素是该领域的LAMP开发人员可能比Rails开发人员多得多,而且我不希望自己的个人偏好影响代码库的长期可持续性.

或者我应该接受一个PHP/Zend网站和Rails网站一样好,即使开发起来不那么有趣?

(请不要宗教论点!)

cle*_*tus 20

我要说的第一件事是(imho)你的方法是错误的,因为你已经开始得出结论("我想在Rails中做到这一点"),你现在正在寻找理由.

更糟糕的是,这种态度与疏忽有关,因为你有一个道德的,如果不是法律责任照顾你的客户,这是他们的需求,你应首先解决,而不是你的.

继续经典ASP网站或坚持语言更改时出现了同样的问题吗?

这里要说的一点是,使用Rails(通常意味着Ruby on Rails,尽管它可能是Groovy等),你将框架与语言(PHP)进行比较.有很多 PHP框架,所以如果你将Ruby on Rails与PHP +一些你同样熟悉的框架或框架进行比较,那么编码速度的许多问题如果不完全消失就会减少.

根据经验,我可以告诉您,非技术用户将关注以下部分或全部内容:

  1. 发展成本;
  2. 主办成本;
  3. 外观和感觉;
  4. 网站功能;
  5. 能够找到开发人员;
  6. 稳定性;
  7. 现有功能; 和
  8. 风险.

(1)值得商榷.如果你正在以Ruby的方式做事,那么Ruby on Rails可能非常快,但如果要求迫使你退出预订,那么它可能变得非常困难.有趣的是,Microsoft堆栈往往以相同的方式工作(尽管它们通常有更大的保留来进一步扩展该隐喻).

这出现了7个原因,我在Rails工作2年后转回PHP.同意或不同意,这类帖子会提出您至少需要考虑和/或解决的问题.

(2)我认为PHP是一个胜利.PHP共享主机非常便宜,但其中并不多.如果该网站将获得适量的流量或存在重大安全问题,您最终将在网站上托管或使用某种形式的VPS或专用托管,此时问题就变得清醒了.

(3)并没有那么不同.Ruby是倾斜的两个Prototype(正在集成)之类,而PHP对任何Javascript框架(它有优点和缺点)更开放,并且两者都可以在HTML和CSS中做任何事情.

同样适用于(4).在一个你无法做到的事情中你无能为力.

(5)是PHP的明显胜利.您可能不会雇用数百名开发人员,但如果您继续或被替换,那么很容易找到其他具有相关经验的人员对于非技术人员来说非常重要(对技术人员也很重要).

(6)是PHP的感知或真正的胜利.我的意思是Ruby on Rails - 至少在我的经验中 - 以不稳定和/或浪费资源而闻名.这就是Zed Shaw臭名昭着的Rails Is A Ghetto咆哮这样的帖子.这显然是一种咆哮,但也有一些有效的观点.

(7)是一个有趣的.Rails强制要求(或者更确切地说是"是")ORM框架,就像许多ORM框架一样,它们在处理"遗留"数据时可能会遇到实际问题.我把它放在引号中,因为ORM有一种讨厌的习惯,就是宣称任何事情都不像"遗产"那样(例如复合键).

如果你完全控制了这个站点上的数据模型并且没有现成的数据模型可以支持那么这个问题可能是Rails的一个胜利,但你拥有的约束越多,这将是PHP轻量级(通常是原始SQL)的胜利做法.

您可能想看看使用ORM还是纯SQL?

(8)真正总结了以上所有内容.该公司将非常关注最终结果的可预测性,并且更可预测,不那么性感的最终结果通常会赢得胜利.

我要说的最后一件事是,如果你有Rails和PHP经验(你似乎),你需要问一下Rails的(非技术)优点是什么,你可能需要重新检查你是什么做和为什么你这样做.


nic*_*ckf 12

我不认为Rails比PHP或类似的东西更好,因为对于这些人他们并不真正关心.他们关心的是:

  1. 他们得到一个好网站(因此,使用Rails,因为你用它更好),和
  2. 它不会成为维护的负担(因此,使用PHP因为它更容易找到程序员)

只要让他们知道这些事实,并按照这些方式争论你的观点,让他们决定.另外值得一提的是,Rails是一个不断发展的社区(如果我相信博客......),随着时间的推移,开发人员的可用性会越来越好.