关于死亡和临终:Ruby on Rails Forem 🌱

2025-06-10

关于死亡和临终:Ruby on Rails

论坛 🌱

Ruby on Rails 是一个“死”框架吗?

或许,Rails 创始人 David Heinemeier Hansson 在被问及一篇讨论该主题的博客文章时,曾说过这样一句话:“酷!我不太在意回应‘Rails 已死’之类的无稽之谈。鉴于其明显的谬误,这种回应不值得尊严地回应。不过无论如何,还是感谢你的尝试 😄”。

Hansson 的话语中流露出一种清晰的情绪:那种不得不重复回答同一个问题太多次的恼怒。从他的回答中可以看出,他认为这个问题根本不值得一提,“Rails 已死”这个话题就像一个糟糕的网络梗,而传播这个梗的人不过是些恶搞者罢了。

然而,不知何故,这个问题总是层出不穷。每次讨论这个老掉牙的框架时,总会不时地出现这样或那样的感叹:“是啊,但 Rails 不是快要不行了吗? ” 让我们深入探讨一下双方的观点,参考一些事实,看看能否对这个经常被问到的问题有所了解。让我们看看,这究竟是一些试图抢占先机的思想家们所鼓吹的糟糕网络梗,还是这种担忧确实有其道理。

如果你和我一样,在开发领域还处于起步阶段。一些相对重要的选择必须在早期做出。比如,你必须决定专注于哪项技术。选择语言、框架、库等等来专攻,并非轻率之举。因此,当“Ruby on Rails 已死!”的消息传开时,你可能会认真思考是否应该押注于此。因此,我想从一个新手的角度来探讨这个问题,看看哪些技术最适合自己和自己的职业发展。作为一名新开发者,如果没有任何先入为主的偏见、偏好或最佳实践,如果对 Ruby on Rails 生态系统没有任何先入为主的投入,那么这是否是一个好的选择?

一些图表

我们先来看一些事实数据。第一个问题是,究竟什么构成了一个“死”的框架?Rail 的反对者经常会指出 Ruby 框架的开发速度放缓作为证据,然而,这种说法存在一些问题,主要是因为 Ruby 本身就是一个成熟的生态系统。当 Web 开发者需要用该框架解决的大多数当代问题都得到解决时,新工具的开发速度自然会放缓。你搬进新家后还会继续购买新家具吗?当然不会,你会坐在现有的沙发上,等到需要的时候再换掉。

或许更好的指标是用户参与度。用户参与度能告诉我们很多信息:它告诉我们新开发者正在花时间提问和学习框架;它告诉我们经验丰富的开发者正在讨论高级主题和技术;它告诉我们,总体而言,人们正在学习 RoR。或许最重要的是,它告诉我们,开发者认为在这个框架上投入时间是值得的。让我们来看看以下两张图表:

替代文本

替代文本

第一张图表直面问题,它调查了在职开发人员,以了解他们对此事的看法。这仍然属于意见范围,但意见似乎非常明确:是的,RoR 在 2020 年仍然具有相关性。我觉得第二张图表更有趣,它交叉引用了 Github 和 Stackoverflow 上的项目和问题数量,这两个平台可以说是所有代码相关的两个最大平台。虽然 Ruby 绝不是老大,但它肯定与老大不相上下。虽然这张图表可能表明 Ruby 作为一种语言的整体受欢迎程度超过 Rails 作为一种框架,但可以相当肯定地假设,大多数与 Ruby 相关的查询也与 Rails 相关。因此,“用户是否参与”这个问题的答案是肯定的。

黑暗面

除此之外,Rails 甚至 Ruby 已死并不是一个模糊的观点,这到底是怎么回事?我认为答案很简单。早在 2008 年,Twitter(以及当时的一些其他主要参与者)就公开表示,由于 Rails 的扩展性不佳,他们将放弃 Rails 并转向 Scala。这引发了关于该框架未来的争论,这场争论在过去 12 年里一直持续到现在!这就引出了一个问题:“如果 RoR 已经死了/快要死了,它现在还会死吗? ”嗯,是的,我认为它会死。此外,认为它正在消亡是因为一个主要平台不再使用它,这是只见树木不见森林。Basecamp 、Github、Shopify、Airbnb、Hulu、Zendesk,更不用说Netflix,一些主要参与者仍然依赖 Rails。如果所有这些公司都开始跳槽,我肯定会寻找退出途径,但事实并非如此。

Ruby on Rails 无法扩展的观点一直备受争议,尽管批评者可能将此视为事实,但这再次引发了争论和意见分歧。虽然有一些强有力的论据表明,从大规模来看,这种说法可能确实成立,但也有很多持不同意见的人持反对态度。Shopify 的 Lawrence Mandel 的这条推文就是证据:

替代文本

然而,对于 RoR 来说,最令人担忧的迹象之一或许是它不再像以前那样受初创公司青睐。它“即将出局”的名声,加上未来扩展性问题,让新来者望而却步。这可能是该框架未来面临的最大挑战,令人惋惜。人们总是渴望拥抱下一个热门,却忽略了 RoR 更成熟的生态系统带来的优势。科技总是追求“前沿”,但在这种情况下,这或许是一个错误。然而,遗憾的是,只有时间才能证明 RoR 作为老将首选框架的声誉是否会对其寿命产生重大影响。我认为,可以公平地说,RoR 面临的最大问题在于它自身的声誉。

底线

那么,像我这样的新开发者该怎么办呢?我的结论是:现在绝对是进入 Ruby on Rails 的好时机。它是一个成熟的生态系统,拥有超乎你想象的丰富资源,经验丰富的开发者会一路帮助你,一些精华内容能让你实现几乎任何你想要的功能,并且它以深厚的代码质量文化而享有盛誉。它是一个自成体系的框架,消除了新手的很多猜测,总体来说使用起来非常愉快。或许最重要的是,市场上有大量高薪职位需要 Rails 开发者。
在我看来,互联网上的人们犯了一个错误,他们把成熟度和衰落混为一谈。虽然 Ruby on Rails 并非新生事物,但对于任何新开发者来说,这都是值得投入时间的。“Ruby on Rails 已死!”充斥着互联网上的谣言,以及那些试图走在潮流前沿的投机取巧的评论文章。虽然这当然是可能的,甚至很可能你不会在未来 20-30 年内将整个职业生涯都花在 Ruby on Rails 上,但问题是它是否会永远存在,而是它今天会消亡吗?答案是:绝对不会。

编辑:
根据 leastbad 的评论,我想把他们提到的两个资源链接起来。它们都对这个主题进行了更深入的探讨,绝对值得一看。

RailsConf 2009 - 主题演讲:David Heinemeier Hansson 的《大盈余》:
https://www.youtube.com/watch?v =4PVViBjukAE

Rails 原则:
https://rubyonrails.org/doctrine/

资料来源:

https://www.tivix.com/blog/is-ruby-on-rails-dead
https://naturaily.com/blog/who-gives-f-about-rails
https://www.ideamotive.co/blog/state-of-ruby-on-rails-web-development#:~:text=Despite%20almost%2016%20years%20since,widely%20used%20among%20professional%20developers .
https://blog.topolyan.com/is-ruby-on-rails-dead-some-real-numbers/
https://devbrett.com/2019/03/why-i-believe-rails-is-still-relevant-in-2019.html
https://www.monterail.com/blog/why-ruby-on-rails-development-2020

鏂囩珷鏉ユ簮锛�https://dev.to/remy29/on-death-and-dying-ruby-on-rails-5d7f
PREV
ReactJS 实时加密仪表盘教程
NEXT
成为开发人员的方法不止一种