无论您是在独角兽公司工作的经验丰富的开发人员,还是希望进入编程世界的新手,您可能已经想到一个问题:“我应该学习 Ruby on Rails 吗?”如果您已经了解 Ruby,您是否应该继续使用并扩展您的技能?还是转向更流行的语言?当您思考这些问题时,让我们更深入地研究 Ruby 和 Rails 框架,并列出历史、好处、挫折和潜在的未来。
Ruby on Rails 也称为“Rails”,我将从这里开始使用它。为了明确地按名称进行细分,Ruby 是编程语言,而 Rails 是服务器端 Web 应用程序框架。由日本程序员 Yukihiro “Matz” Matsumoto 在 1990 年代中期发明的 Ruby 语言由于类似于英语,因此获得了初学者友好的地位。 Matz 构建 Ruby 的重点是首先要被人类理解,其次才是计算机。然而,Rails 是由 David Hansson 在 2005 年晚些时候发明的。 Rails 类似于 AngularJS 和 Django 框架,因为它通过将 Web 应用程序拆分为三个相互关联的部分(模型、视图和控制器,称为 模型视图控制器 (MVC) 框架。红宝石是一个 面向对象编程 (OOP) 语言,这意味着每个值,包括字符串和数字,都是对象。
现在让我们回顾一下 Ruby 和 Rails 的优缺点,以指导您是否发现 Ruby 值得在您现在或未来的职业生涯中学习和使用。
Top languages over the years ( Github)
正如您在上图中所见,JavaScript 多年来一直是 Github 上的主导语言。然而,在 2015 年突然开始急剧下降之前,Ruby 一直是前 5 种语言之一。是什么原因造成的? JavaScript ES6 的发布。 ES6 发布的新特性导致 Ruby 被更多的公司和开发人员技术栈淘汰。 Ruby 跌出前 10 名可能只是时间问题。
在上面的视频中,Rails 也一直在下降,开发人员更倾向于使用 Laravel for PHP 或 Django for Python。对于铁杆 Rails 的支持者来说,这是一颗难以下咽的药丸,但数字不会说谎。
Python 有一套很酷的原则,称为 Python之禅 蒂姆·彼得斯(Tim Peters)从本质上说 Python 是为了明确、简单、美观和可读的。下面是一个代码片段,显示了多么相似,但更明确, Python 与 Ruby 相比 :
在 Python(顶部)中,Twitter 类是从 twitter 库中导入的,因为这就是我们所需要的(显式)。在 Ruby(底部)中,需要 twitter 库来导入整个库(隐式)。
作为开发人员,我们需要适应新的和即将推出的编程语言,以及使用遗留代码库。当我们中的许多人面对这个现实时,Ruby 和 Rails 可能已经失去了前几年的蓬勃发展,但它经受住了时间的考验,而且还没有消亡。它建立了良好的声誉和成熟度,这就是需求仍然存在的原因,许多初创企业和大
所以要回答前面的问题,“我应该学习 Ruby on Rails 吗?”没有简单的是或否的答案。我提供了支持和反对 Ruby 和 Rails 用例的几个理由。尽管受欢迎的统计数据可能显示出什么,但您决定评估什么对您的职业生涯很重要。如果您选择学习 Ruby 和 Rails,它有许多可转移的技能和语法!还记得我提到 Ruby 是一种面向对象的语言吗?好吧,Python 等其他语言也是如此!如果我之前已经说服您使用 Python,您可以尝试两种语言,因为其中一种语言可以互补另一种语言。没有一种语言可以满足您所有的业务或个人需求。尝试一些,选择你最喜欢的,并成为他们的专家!
以下是一些文章链接,它们提供了有关 Ruby on Rails 用例的更多信息:
https://launchschool.com/books/ruby/read/introduction
https://www.rubyguides.com/2018/11/ruby-erb-haml-slim/
https://careerkarma.com/blog/why-learn-ruby-on-rails/
https://careerfoundry.com/en/blog/web-development/should-i-learn-ruby-on-rails/#introduction-to-ruby-on-rails
https://www.software-developer-india.com/advantages-and-disadvantages-of-ruby-on-rails/
https://www.coursera.org/articles/ruby-vs-python
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/1526/52442916