博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么我不会在新公司中使用Rails
阅读量:6360 次
发布时间:2019-06-23

本文共 1888 字,大约阅读时间需要 6 分钟。

从流量来说,在线文档上传及分享社区是世界第三大Rails站点。Jared Friedman是该公司的联合创始人兼首席执行官。他从2006年就开始使用Rails,Scribd第一个版本是用Rails 0.7编写的。现如今,Rails已经成为美国硅谷创业公司默认的Web应用程序开发框架。但Friedman认为这是个错误,并在近日阐述了这一观点。

\\

Friedman列出了以下几个方面的原因:

\\
  • Rails巅峰期已过——Friedman认为,现在在一家新公司中使用Rails就像2007年在一家新公司中使用Java Spring,其依据是谷歌趋势中Web框架的搜索量变化,如下图所示:\\\t

    9ca7e0372f59dc69782477a4fb2314cb.png

    \\\t

    0b2abf9d847cb60fc0fc5758333c3b2c.png

    \\t\\t
  • Rails有个大难题:Ruby——基准测试显示,截至目前,Ruby是主流编程语言中最慢的。语言设计是一个原因,但更深层次的原因是Ruby没有一个大型的企业赞助商。在2007年,Python、PHP及JavaScript也都是相当慢的脚本语言。Facebook对PHP进行了巨大的投资,构建了转译器,提升了PHP的运行速度。谷歌则构建了一个快速的JavaScript JIT编译器,无意间促成了服务器端JavaScript应用的暴增。相比之下,Ruby解释器仅仅是志愿者的工作成果。在2007年到2012年之间,有多个项目试图提升Ruby的运行速度,如、、,但只有JRuby仍然在积极开发,而且最新的版本让人看到了希望,只是仍然有很长的路要走。此外,Twitter是第一家基于Rails成长起来的大型科技公司,它曾试图优化Ruby解释器,但Twitter工程师最终还是决定使用一种速度更快的语言重写Twitter,因为那比让Ruby更快来的简单。\\t
  • Rails开发停滞,其它框架已经赶了上来——Rails 3于2010年8月发布,但GitHub四年之后才升级到这个版本,因为该版本的新特性没有足够的吸引力。Scribd在升级到Rails 3的过程中也遇到了很大的麻烦,导致他们现在都不确定是否还会升级到Rails 4。与此形成鲜明对比的是JavaScript的快速发展。Scribd经历了从Prototype到jQuery到Coffeescript到 Angular再到React的转换,每一次转换都能带来生产效率的提升。\\t
  • “新兵训练营(BootCamps)”——过去两年出现了许多编程新兵训练营。当讲授服务器端开发时,他们绝大多数都会讲授Rails,而不是其它语言。这导致优秀的开发人员,尤其是那些具有计算机科学学位的开发人员看轻那些训练营项目。Friedman注意到一种趋势,就是有经验的开发人员不想使用Rails。\\t
  • 有许多新框架成为Rails的有力竞争者——Friedman得出这一结论的一个依据是 对上广受欢迎的公司所使用的服务器语言的,如下图所示:\\t

    49cf0e9cda2d42ac7aec2629262b8a07.png

    \\t\

另一个依据是indeed.com上的就业趋势统计,如下图所示:

\\

18570f2abaa1afb096b0091517c8e6bc.png

\\

是JRuby的核心开发人员。他评论说:

\\
\

我讨厌类似这样的文章,用传闻和猜测混淆视听。

\
\\

因此,他几乎是逐条反驳了Friedman的观点,而且言辞颇为激烈。他认为,谷歌趋势并没有给出总数,只能体现一种相对增长,而实际上,Rails比Node.js流行。关于性能,Nutter指出,在处理相对稳定的Rails请求时,JRuby的性能比更好。对于“Rails开发停滞”的观点,Nutter认为十分荒谬,因为熟悉内情的人都知道,Rails是发展最快的框架之一。

\\

网友AnneOminous在声援Nutter的同时指出,Friedman提到的关于Twitter的信息是错误的。Twitter的其中一名创建者之所以使用Scala重写Twitter引擎的某些部分,是因为他不擅长Ruby,未能正确使用。后来的分析也证明,他使用Scala所做的工作并不比使用Ruby快多少。对于Friedman有关GitHub的说法,也有网友指出,GitHub之所以在Rails 3发布那么久之后才升级到Rails 3,是因为他们自己派生了Rails,使用了许多内部补丁。

\\

总之,对于Friedman的观点,反对者居多,但也有少数网友持赞同观点。感兴趣的读者,可以进一步阅读评论。

\\

感谢对本文的审校。

\\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群)。

转载地址:http://xxbma.baihongyu.com/

你可能感兴趣的文章
Matplotlib绘图与可视化
查看>>
openstack ocata版(脚本)控制节点安装
查看>>
【微信公众号开发】获取并保存access_token、jsapi_ticket票据(可用于微信分享、语音识别等等)...
查看>>
datatable 获取最大值
查看>>
sqlserver2012一直显示正在还原(Restoring)和从单用户转换成多用户模式(单用户连接中)...
查看>>
spark复习总结02
查看>>
李瑞红201771010111《第九周学习总结》
查看>>
[译]ZOOKEEPER RECIPES-Barriers
查看>>
pymongo模块
查看>>
第0次作业
查看>>
快排+折半查找
查看>>
c# GC 新典型
查看>>
ssh bash 通配符
查看>>
seajs在jquery多个版本下引用jquery的插件的方案
查看>>
关于网络上java,php和.net的“口角之争“的一点想法 !
查看>>
python 第二周(第十三天) 我的python成长记 一个月搞定python数据挖掘!(21) -正则表达式re...
查看>>
[POI2011]SEJ-Strongbox
查看>>
20文件
查看>>
Android开发Intent应用概述
查看>>
【Go】并发编程
查看>>