本文共 1888 字,大约阅读时间需要 6 分钟。
从流量来说,在线文档上传及分享社区是世界第三大Rails站点。Jared Friedman是该公司的联合创始人兼首席执行官。他从2006年就开始使用Rails,Scribd第一个版本是用Rails 0.7编写的。现如今,Rails已经成为美国硅谷创业公司默认的Web应用程序开发框架。但Friedman认为这是个错误,并在近日阐述了这一观点。
\\
Friedman列出了以下几个方面的原因:
\\
- Rails巅峰期已过——Friedman认为,现在在一家新公司中使用Rails就像2007年在一家新公司中使用Java Spring,其依据是谷歌趋势中Web框架的搜索量变化,如下图所示:\\\t\\\t\\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\\t\
另一个依据是indeed.com上的就业趋势统计,如下图所示:
\\
\\
是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/