📜  Ruby on Rails 简介

📅  最后修改于: 2022-05-13 01:55:32.383000             🧑  作者: Mango

Ruby on Rails 简介

Ruby on Rails 或也称为 rails 是一种用 Ruby 编程语言编写的服务器端 Web 应用程序开发框架,由 David Heinemeier Hansson 在 MIT 许可下开发。它支持为数据库、网页和 Web 服务提供默认结构的 MVC(模型-视图-控制器)架构,它还使用 JSON 或 XML 等 Web 标准来传输数据,并使用 HTML、CSS 和 JavaScript 作为用户界面。它强调使用其他著名的软件工程模式和范式,例如:

  • 不要重复自己(DRY):减少信息或代码的重复是软件开发的一个原则。
  • 约定优于配置 (CoC): 为在 Web 应用程序中做许多事情的最佳方式提供了许多意见。

Ruby on Rails 于 2004 年 7 月首次发布,但直到 2005 年 2 月才共享提交权。 2006 年 8 月,它将发布带有 Mac OS X v10.5 “Leopard”的 Ruby on Rails。 Ruby on Rail 2016 年 12 月 21 日发布的最新版本(Rail 5.0.1)。此版本引入了 Action cable、Turbolinks 5 和 API 模式。

为什么是 Ruby on Rails?

  • 它允许您启动更快的 Web 应用程序。
  • 通过使用 Ruby on Rails 框架节省您的资金。
  • 帮助我们维护和避免材料迁移问题。
  • Ruby on Rail 框架使我们的应用程序更快、更安全。
  • 我们可以轻松地使用最新功能更新我们的应用程序。
  • 它使用元编程技术来编写程序。

在哪里使用 Ruby on Rails?

您可以在 Web 开发的各个领域使用 Ruby on Rails 应用程序,例如在需要大量转换的长期项目中,或者在流量较大的项目中,或者开发简短的原型或 MVP,或者在需要广泛范围的项目中复杂函数等



Ruby on Rails 的特性

众所周知, Java、HTML、CSS 等大多数语言都没有涵盖前端和后端。它们要么只用于后端,要么用于前端,但 Ruby on Rails 用于前端后端,就像一个完整的包来开发 Web 应用程序。 Ruby on Rails 的一些重要特性是:

1.模型-视图-控制器架构: Ruby on Rails采用MVC架构,它包含三个组件,即模型、视图和控制器。在这里,模型用于维护对象和数据库之间的关系,视图是用于为 Web 应用程序构建数据用户的模板,控制器用于将模型和视图合并在一起。 MVC 通常用于开发用户界面,将数据划分为三个相互关联的组件,以便它可以将信息的内部表示与其呈现给用户和从用户获取的方式分开。

2.活动记录:活动记录框架是在Ruby on Rails中引入的。它是一个强大的库,允许开发人员设计数据库交互式查询。

3. 内置测试: Ruby on Rails 提供了自己的一组测试,可以在您的代码上运行。这将节省时间和精力。

4. 编程语言: Ruby on Rails 的这种语法很简单,因为Ruby 编程语言的语法接近英语,所以总是更容易组织你的思维并将其编写成代码。

5.元编程 Ruby on rails 使用元编程技术来编写程序。

6. 约定优于配置:在 Ruby on Rails 中,程序员只能指定应用程序的非常规方面。

7. 脚手架: Ruby on rails 提供了一个脚手架功能,允许开发人员定义应用程序数据库的工作方式。定义应用程序数据库的工作后,框架会根据给定的定义自动生成所需的代码。这种技术会自动创建接口。



Ruby on Rails 的优势

  • 工具: Rails 提供的工具可以帮助我们在更短的时间内交付更多功能。
  • 库:有一个 3rd 方模块(gem)用于我们能想到的任何东西。
  • 代码质量: Ruby 代码质量明显高于PHP或 NodeJS 等价物。
  • 测试自动化: Ruby 社区热衷于测试自动化和测试。
  • 大型社区: Ruby 在社区中很大。
  • 生产力: Ruby 在另一种语言中的速度非常快。它的生产率很高。

Ruby on Rails 的缺点

  • 运行速度: Ruby on Rails 的运行速度比 Node.Js 和 Golang 慢。
  • 缺乏灵活性:正如我们所知,Ruby on Rails 是标准 Web 应用程序的理想选择,因为它在组件和模型之间存在硬依赖关系。但是,在应用程序中添加独特的功能和自定义功能时,它具有挑战性。
  • 启动速度:启动速度也是 ROR 的一个缺点。由于依赖于gem依赖和文件的数量,启动需要一些时间,这会阻碍开发者的性能。
  • 文档:对于不太流行的 gem 和大量使用 mixin 的库来说,很难找到好的文档。
  • 多线程: Ruby on Rails 支持多线程,但一些 IO 库不支持多线程,因为它们持有全局解释器锁。因此,这意味着如果您不够小心,您的请求将排在活动请求之后,您将面临性能问题。
  • 活动记录:由于 ROR 中活动记录的访问使用和硬依赖关系,域与您的持久性机制紧密耦合。

例子:

要创建 Rails 应用程序,您需要按照以下步骤操作:

步骤1:打开终端并编写以下命令。此命令创建一个名为“myFirstProject”的应用程序。

第 2 步:现在我们进入我们的应用程序目录。

在这里,myFirstProject 包含这些文件。

第 3 步:现在我们使用以下命令创建一个 Rails 服务器。



默认情况下,rails 服务器使用端口 3000。如果要更改端口号,我们可以使用以下命令:

现在打开浏览器并打开 http://localhost:3000/。如果您的服务器工作正常,那么您将获得此页面。

第 4 步:打开另一个终端并移动到 myFirstProject 目录。现在我们为我们的主页创建一个名为“sample”的控制器。

第 5 步:现在我们添加一个索引页面。因此,打开 sublime text 并编写以下 HTML 代码并将文件命名为 index.html.erb,并保存在位置:/myFirstProject/app/views/sample/index.html.erb。

My first ruby on rails application

第六步:创建索引页面后,我们需要将ruby on rails路由到这个页面。因此,对于位于以下位置的打开的 routes.rb 文件:/myFirstProject/config/routes.rb。现在在 routes.rb 文件中写入以下行

root'sample#index'

第 7 步:现在刷新浏览器窗口以查看最终输出。