您现在的位置是 : 首页  >  行业聚焦  > 正文

Ruby_on及Rails是什么

日期:2023-05-19 14:59:11 来源:互联网

Ruby on Rails(官方缩写为Rails,也缩写为RoR)是一个用Ruby语言编写的开源Web应用框架,严格按照MVC架构开发。它试图保持简单,

使实际的应用程序开发代码更少,使用最少的配置。Rails的设计原则包括“不重复的东西”和“实践胜于设定”。


(资料图片仅供参考)

Ruby on Rails是一个结合了Ruby语言和Rails平台的web编程框架。Ruby语言以自然、简单、快速著称,完全支持面向对象编程。

另一方面,Rails是Ruby广泛使用的方式之一。在Rails平台上设计了独特的MVC开发框架,采用模型、视图和控制器分离的开发模式。

不仅减少了开发中的问题,也简化了很多复杂的动作。

一、历史

2004年7月,Rails的创始人大卫汉森(David Hansen)将Ruby on Rails从37signals公司的项目管理工具Basecamp中分离出来,并以开源的方式发布。

Rails在发布后的短时间内迅速受到了众多开发者的欢迎,David将此归因于Rails的设计是乐观的软件。

Rails中的很多规则从一开始就是按照David的意见制定的,所以在Rails上开发一个应用的时候,开发者可以专注于应用本身的设计,节省了理解和配置基本框架的时间。

这也是Rails非常重要的精神,“约定胜于配置”,开发者遵循Rails自己的约定,可以节省配置配置文件的时间。另外,虽然Rails强调约定的重要性和方便性,但是根据不同的需求,

Rails还提供了修改空间,以便开发人员可以定制配置。

二、Rails 的 MVC 架构

Ruby on Rails的模型-视图-控制器架构由以下部分组成:

模型

模型包含应用程序的状态,该状态可能是临时的,也可能是永久地存储在数据库中。需要注意的是,模型不仅包含数据,还包含数据所代表的逻辑。在铁轨上,

模型通常由表示关系数据库中RDBMS表的类组成。

在Rails中,模型类是通过活动记录模式处理的。一般来说,程序员需要做的就是继承ActiveRecord类,程序会自动计算使用哪个RDBMS表。

这个表格中有哪些列?表之间的关系由简单的命令表示。

视角

视图负责根据模型中的数据显示用户界面。作为一个web应用程序,Rails中的View通常生成一个web页面的全部或一部分。当然,它可以是XML甚至JavaScript代码。

表示为使用嵌入在Ruby中的HTML/HTML/XML/JavaScript模板。

控制器

控制器将用户界面与数据模型相关联,并扮演协调操作的角色。它接收各种用户操作,更新数据模型,并用适当的视图将结果呈现给用户。就像他的名字一样,可以说应用的主控中心是每个控制器。

Rails 中的AJAX

AJAX(异步JavaScript 与XML)是一种异步传输接口,可以借由浏览器使用JavaScript 和XML 或其他数据格式来处理传输请求,而将Web 服务器作为后台来处理,

这样无须加载额外的网页。Rails 内置有Prototype 包来实现这个技术。Ajax 已经和Ruby on Rails 结合在了一起成为了一个新的系统叫做“Ajax on Rails”。

Rails 提供一些助手工具来更方便地实现AJAX 应用。 Rails 提供了一些Helper,可以在服务器一端用纯Ruby 语言生成给浏览器用的JavaScript 代码,

从而让Rails 的开发者不需掌握JavaScript 就可以简单方便的开发出AJAX 的应用。

Rails 和Web 服务

稍早的版本的Rails 中提供了ActionWebService 作为开发XML-RPC 和SOAP 的web 服务的基础。

但是最近的Rails 1.2 更加倾向于是用REST 方式的web 服务,而ActionWebService 在Rails 2.0 中作为plugin 而不再是rails 核心的一部分。

三、Web 服务器支持

对于开发和测试来说,一个很轻量的WEBrick 网页服务器已经被包含在了Ruby 中,常被用来作为应用服务器。而对于生产应用,

常推荐使用带FastCGI 的Apache 或者Lighttpd,但任何支持CGI 或者FastCGI 的网页服务器都可以使用。在Apache 上,

mod_ruby 也可以考虑用来提高性能。

四、数据库支持

使用Rails 的架构开发网络应用一般都使用数据库,所以推荐使用一个关系数据库系统来进行数据存储,若不能运行一个关系数据库服务器,Rails 支持嵌入式数据库SQLite。

Rails 还支持关系数据库系统,包括MySQL、PostgreSQL、IBM DB2、Oracle 和SQL Server。

五、系统要求

Ruby 语言Web 服务器,如Apache、lighttpd 等FastCGI,或者Mongrel 为了提高效率数据库和驱动程序集成开发环境

开发用的IDE 有:Eclipse,MyEclipse,NetBeans,RubyMine,Aptana,Sublime Text,Visual Studio Code

本文Ruby,on及Rails是什么到此分享完毕,希望对大家有所帮助。

标签:

推荐