大约 12 年前,我回答了StackOverflow 的一个问题 是 ruby on rails(或至少是社区)正在死去吗?[关闭] [there]周围仍然 [a] 非常活跃的社区。今天,2022 年,我看到这种下降速度比以前更快。
最明显(也是不科学)的地方是谷歌趋势。对于 Ruby 和 Ruby on Rails,多年来我们都看到了明显的下降趋势。
首先是急剧上涨,然后是横盘整理,但在 2016 年开始下跌之后。我对 2020 年的急剧下跌没有任何解释,并认为这是谷歌数据中的一个故障。然而,趋势仍然很明显:下降。
早在 2010 年,我回答说:
Ruby on Rails 是一种炒作。这意味着很多人赶上了潮流,因为这就是他们所做的:赶上潮流(谋生)。
在那次炒作之后,出现了许多模仿 Rails 的各种语言的社区。或者尝试。或者只是把好的想法应用到他们的社区中。现在你已经拥有了无数半生不熟的 PHP 框架,还有一些实际上很好的框架。你有 Django (python)、Zend、Symfony (PHP),甚至在 Ruby 中,还有一些替代框架。这引起了人们的关注。过去只有一个好的框架(原文如此。)现在有很多。
也就是说,Rails 3 刚刚发布。Rails 3 再次成为尖端技术。它具有 noSQL(一个但最新的炒作)HTML5(最新的炒作)和许多 javascript 框架和交互(下一个炒作)的所有成分。
也就是说,Rails 不仅仅是炒作。它实际上是一个很棒的框架。周围还有一个非常活跃的社区。只需看看 github,并偶尔访问那里的热门存储库,您就会每周在那里看到一个 Great Rails Thing。
如果您想保持最新状态,我建议:
http://www.rubyinside.com 一个关于 Ruby 的博客。
http://5by5.tv/rubyshow 播客,其中包含(大部分)Rails 和 Ruby 领域的所有新闻。
首先是最后一个:专门的播客或 ruby 新闻网站都消失了,很多都没有被取代。有一个很棒的每周通讯,但仅此而已。
这突出了一个反馈循环的问题:没有好的信息(和教程),新开发者的涌入将会枯竭。如果没有大量新开发人员,对这些信息(和教程)的需求就会减少。例如,如果我们看一下 Udemy,截至今天(2022 年 3 月),Udemy 上只有 109 门关于 Ruby(on Rails)的课程。对于 Python、Java 或 JavaScript,每个都超过 10.000 个。最好的Rails 课程之一在 2020 年进行了最后一次公开更新。go-rails 等其他服务正在提供课程,只是景观正在发生变化,而不是变得更糟。
周围还有一个非常活跃的社区。只需看看 github,并偶尔访问那里的热门存储库,您就会每周在那里看到一个 Great Rails Thing。
这已不再是这种情况。公开工作的支持、宝石和开发人员正在减少。例如,让我们看看在最初的炒作期间不存在的服务的宝石。还有一个与 Rails 无关的:Azure。
对 Azure的支持处于不良状态。许多无人维护,过去几年几乎没有任何活动。带着很多未解决的问题。例如Azure 的官方库本身有 22 个问题开放,其中依赖于非常旧版本的其他库 (Nokogiri) 导致的依赖问题。我知道,这是 N=1,但我选择了这个作为例子,而不是作为证据。
我最近开始从事一个(Ruby,而不是 Rails)项目,我们需要大量集成:支付服务提供商、云存储、项目管理等等。现代 SAAS - 始于过去十年,几乎所有的 API 都缺乏官方 Ruby 客户端或 SDK。然而,他们为 Java、JavaScript、Python 甚至 Rust 提供了它们。
Slack没有用于 Ruby 的官方客户端或 SDK,(但对其他语言有)也没有 Dropbox。上面链接的 Azure 几乎没有维护,在所有 HubSpot API 客户端中,Ruby 版本最不受欢迎(基于星号和分叉)并且更新频率最低。像 Monday、Teamleader 或 Notion 这样的现代项目管理都完全没有对 Ruby 的引用。请注意,这些是没有主要 Ruby 支持的流行 SAAS 示例。其他人确实提供它:从 AWS 到 Square:有一流的、维护良好的宝石供他们使用。
我应该对 ruby gems、它们的 repo、未解决的问题等进行实际的数据分析,但浏览这些数字已经显示出令人担忧的趋势。我们可以看到,如果我们抓住少量的 SAAS 服务,Ruby 的支持是缺乏的。早在 2010 年,当我回答 SO 问题时,情况完全相反:最突出的 SDK 或 API 客户端是 Ruby 客户端。一个明显的原因是,当时开发 API 和 SAAS 的团队自己在 Ruby 中完成了这项工作。当时的公司通常拥有良好的 Ruby 客户。过去几年的公司通常不会。并且这些社区版本通常完全丢失或维护不善。
如果我们查看大型 SAAS 或软件公司,我们会发现运行在 Ruby(on Rails)上的都是早期的。2020 年后,我很难找到任何成功的 SAAS 在 Rails 上构建他们的产品。Github:2008,Shopify:2006,Twitter:2006,Groupon:2008,Zendesk:2007,AirBnB 2008,Fiverr:2010。 Ruby 或 Rails 在 2010 年之后开始,我可以找到 Stripe (2011) 和 Gitlab (2014)。Discourse 和 Mastodon 是我所知道的唯一最近流行的基于 Ruby 的开源项目。
显然,这里存在强烈的幸存者偏见和倾斜的相关性:成功的公司需要几十年才能做到这一点。因此,无论使用 Rails,成功的 SAAS 都会更老。
以各种模仿 Rails 的语言弹出。[...] 现在你有无数半生不熟的 PHP 框架,还有一些实际上很好的框架。你有 Django (python)、Zend、Symfony (PHP),甚至在 Ruby 中,还有一些替代框架。
我的观点是,早在 2010 年,Rails 的成功推动了使用模型视图控制器 (MVC) 架构的快速应用程序开发 (RAD) 开发框架的需求。我计划在“RAD web 框架”、MVC 和 ActiveRecord 上单独发布一篇文章,但可以肯定地说,Rails 等这些框架已经找到了自己的位置,但绝不是灵丹妙药。我们进行了一些迭代,发现这些架构并不适合解决大量问题和领域,并开发和寻找替代方案。因此,无论使用哪种语言,Rails 的流行度下降可能是由于 MVC 和 RAD 的普遍下降所致。
当我们查看其他一些来源时,2021 年 StackOverflow 调查结果 也说明了这一点:Ruby 和 Rails 在所有列表的底部象限徘徊。Ruby 在同等程度上受到“恐惧”和“喜爱”。不幸的是,他们没有发布可访问的趋势,但 StackOverflow 有一个基于 StackOverflow 标签活动的单独工具: 几十年来, Ruby 都在衰落和处于下象限。Tiobe 指数证实了这一点,Ruby 年复一年地缓慢下降。相对于其他语言和绝对。
因此,纯粹是轶事,主要是通过浏览已发布的数字,并基于直觉,我会修改我 2010 年的声明:是的,Ruby,Ruby on Rails,社区显然正在衰落。不过没死!就像 Pascal 和 COBOL(以及 Perl)从未消亡一样,如果仅仅是因为遗留问题,Ruby 将继续存在。我当然不会说它是一艘正在沉没的船:而是一艘一个月又一个月地减速的船。
然而,受欢迎程度并不能说明质量。如果流行度是衡量质量的标准,那么 Internet Explorer 6 是有史以来最好的浏览器(千禧一代注意:不是)。Ruby 仍然提供了它在 2005 年发布时所提供的出色开发体验。它只会变得更好。Rails 仍然是获得原型演示的好方法,或者在几天内以最少的惊喜在线获得最小可行产品。
这是否意味着学习 Ruby 或 Rails 是一个糟糕的职业选择?当然不是!对 Rails 和 Ruby 开发人员的需求一如既往地高,这仅仅是因为对开发人员的普遍需求不断增加。自 2008 年以来构建的所有 SAAS,在未来几十年都需要开发人员。但是请注意,如果 Ruby 的下降趋势像过去十年一样继续下去,那么成为 COBOL 或 Perl 开发人员的风险会导致一些尘土飞扬的遗产。
关于作者: Bèr Kessels 是一位经验丰富的 Web 开发人员,对技术和开源充满热情。以良好和有效的方式实施该技术的黄金组合。在 Mastodon 上关注@berkes。或阅读更多关于 Bèr的信息。
Prev Chapter:阿里云让其小型桌面即服务客户离开中国
Next Chapter:元宇宙入坑VR开发【入坑】指南
Emperor’s Domination Chapter 4120: How?
2024-11-19Outside Of Time Chapter 326 - 326 Humbled
2024-11-22Chaotic Sword God Chapter 2341 - The Final Victor (Two)
2024-11-14