`
kingofight
  • 浏览: 13058 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

ROR——Ruby On Rails

阅读更多

        RoR是Ruby on Rails的缩写。Ruby on Rails是一个用于编写网络应用程序的框架,它基于计算机软件语言Ruby,给程序开发人员提供强大的框架支持。Ruby on Rails包括两部分内容:Ruby语言和Rails框架。

什么是Ruby?
    Ruby 语言是一种动态语言,它与Python、Smalltalk和Perl这3种编程语言有些类似。Ruby语言起源于日本,它的研发者是日本人松本行弘(Matsumoto Yukihiro)。松本行弘在1993年开始着手Ruby语言的研发工作,他开发Ruby语言的初衷是为了提高编程的效率。 1995年12月Matz推出了Ruby的第一个版本Ruby 0.95。

Ruby语言的主要特点如下。
1.纯的面向对象语言
在Ruby中,一切皆是对象。下面举一个例子来更直观地说明Ruby语言的这一特点。
在Java中,求一个数的绝对值的代码如下。
int c = Math.abs(-20);
而在Ruby语言中,一切皆是对象,也就是说“-20”这个数也是一个对象,因此,求一个数绝对值的Ruby代码形式如下。
c = -20.abs
这样的代码编写方式是不是更形象一些呢?

2.解释型脚本语言
Ruby 语言是解释型脚本语言,它既有脚本语言强大的字符串处理能力和正则表达式,又不失解释型语言的动态性。一方面,在最初设计Ruby语言时,Ruby的研发者松本行弘考虑到文字处理方面的需要,他借鉴了Perl语言在文字处理方面的成功经验。另一方面,松本行弘将Ruby语言设定为一种解释型语言,Ruby 的动态性使得由Ruby语言编写的程序不需要事先编译即可直接运行,这为程序的调试带来了方便。同时,这一特点可以实现开发过程中的快速反馈。

3.其他特点
(1)动态载入。可以在运行时候重定义自己,类也可以在运行时继承或取消继承。
(2)自动内存管理机制。
(3)多精度整数。
(4)迭代器和闭包。
(5)开源项目。有大量活跃的社区支持Ruby语言。

什么是Rails?
      虽然Ruby语言有很多优点,但是一直以来,其流行的范围也仅限于日本。直到2004年,Ruby才逐渐被世界上其他地区的人们所认识,那么是什么让Ruby语言走向世界的呢?是Rails。
    Rails 框架首次提出是在2004年7月,它的研发者是26岁的丹麦人David Heinemeier Hansson。不同于已有复杂的Web 开发框架, Rails是一个更符合实际需要而且更高效的Web开发框架。Rails结合了PHP体系的优点(快速开发)和Java体系的优点(程序规整),因此, Rails在其提出后不长的时间里就受到了业内广泛的关注。

Rails框架主要有如下的6大特点。
1.全栈式的MVC框架
    Rails是一个全栈式的MVC框架,换句话说,通过Rails可以实现MVC模式中的各个层次,并使它们无缝地协同运转起来。
    在实际开发一个MVC模式的Web应用项目时,如果使用Java开发,需要用到Struts(Model层)、Hibernate(Controller 层)和Spring(View层)3个框架,而且需要额外整合3个框架开发出的内容。而使用Ruby语言开发相同的项目时,只需要用到Rails框架就可以完成。

2.约定优于配置
    为了说明各个对象之间的关联关系,一般的Web应用开发框架往往采用写入XML配置文件的方法。这种方式虽然可以解决一些问题,但是却带来了管理上的混乱。
    Rails 对此的态度是约定优于配置,这意味着在Rails中不会出现XML配置文件。Rails使用Web应用多年来积累的各种常见约定(更具体地说是命名规则)来代替XML配置文件,而在Rails内部的映射与发现机制根据这些约定可以实现对象之间的关联。在第1章中,通过Rails的映射与发现机制实现了数据表与Ruby对象之间的关联。

3.更少的代码
    使用约定来代替XML配置文件说明Rails本身完成了大量的底层工作,这意味着使用更少的代码来实现应用程序是极有可能的。此外,代码量的缩减也减小了出现bug的可能性,降低了维护程序和升级程序的难度。

4.生成器
    Rails 使用的实时映射技术和元编程技术,免去了开发人员在开发过程中编写大量样板文件代码的烦恼。在少数需要使用样板文件代码的时候,开发人员可以通过 Rails内建的生成器脚本实时创建,而不再是通过手工编写。Rails的这个特点可以使开发人员更专注于系统的逻辑结构,而不必为一些琐碎的细节所烦扰。

5.零周转时间
    对已有的Web应用系统进行修改后,其一般需要经过配置、编译、发布、重新设置、测试等一系列步骤才能投入使用,这明显浪费了许多时间。而使用Rails开发Web应用系统,可以通过浏览器即时查看程序运行结果,从而节约了大量的时间。

6.支架系统
    Rails的支架系统可以自动为任何相关的数据库表创建一套包含标准CRUD操作和前台视图的系统。通过支架系统,开发人员可以方便快捷地操纵数据库中的数据表。此外,Rails也允许开发人员使用自己设计的代码或视图来替换自动生成的代码和视图。

    目前,Rails的最新版本是2005年12月13日发布的v1.0.0。从RoR正式提出到v1.0.0的发布,RoR在一年多的时间里受到了业内人士的广泛关注。RoR受到广泛关注主要有如下两个原因:首先,RoR的开发效率高(部署容易)、功能丰富(支持Ajax等流行应用),有消息称对于相同的 Web开发项目,使用RoR开发比使用Java体系架构开发快5~10倍;此外,令人不可思议的高性能是其受到关注的另一个重要原因,根据CSDN上转载的新闻称使用RoR开发出来的项目性能,比基于Struts+Hibernate+Spring的Java应用还要高15%~20%。

    RoR 当前遇到的主要问题是使用RoR搭建的大型商业应用还很少,究其原因可以概括为两点:第一,从开发能力的角度,RoR是一个基于Ruby语言的轻型Web 开发框架,很多开发者对其是否适合大型应用难以把握。第二,本身使用RoR开发的大型商业应用较少,使得后来者持观望态度。

    综合分析来看,RoR的发展前景还是很光明的。RoR在短时间内取得了巨大的成就,它打破了Web开发领域的固有观念,方便快捷的开发方式使其被广泛接受。而事实上,现在已有几家跨国公司正在使用RoR开发自己的Web应用程序,并且有多家大型公司在考虑使用RoR进行Web应用开发。

分享到:
评论

相关推荐

    Ruby For Rails(英文版)(清晰文字pdf+源码)

    ——David Heinemeier Hansson Ruby on Rails之父 Ruby on Rails(RoR)已经成为如今最灸手可热的Web开发技术之 。借助RoR你可以轻松快速地创建功能强大的Web应用! Rails框架本身就是用Ruby写成的,所以Rails应用都...

    Ruby For Rails(英文版)(清晰文字pdf)

    - **书籍定位**:《Ruby for Rails》被广泛认为是学习Ruby语言的必读之作,特别是对于那些希望利用Ruby on Rails(RoR)进行高效Web开发的学习者而言。这本书是所谓的“Ruby三神书”之一,其他两部分别是《Agile Web...

    ruby入门书中文版

    解压后,读者可以深入研究Ruby的更多细节,如类和模块的定义,方法的创建与调用,以及元编程(meta-programming)——Ruby允许在运行时修改或创建代码的能力,这是其灵活性的一大体现。 学习Ruby不仅可以提升你的...

    SIGFOX_API_RoR:SIGFOX API 与 Ruby on Rails 的集成

    SIGFOX_API_RoR SIGFOX API 上行链路和下行链路与 Ruby on Rails 的集成一、简介SIGFOX - - 是第一家也是唯一一家为物联网提供全球蜂窝连接的公司,完全致力于低吞吐量通信。 SIGFOX 正在通过从根本上降低连接设备的...

    skowars:查找工作机会。 Ruby on Rails社交网络项目

    标签 "Ruby" 表明该项目是用 Ruby 编程语言构建的,尤其是Ruby on Rails(RoR)框架。RoR是一个流行的开源Web开发框架,以其简洁、高效的代码和“约定优于配置”的原则著称。它支持MVC(模型-视图-控制器)架构模式...

    Rails 敏捷开发实践

    Ruby on Rails(简称 Rails 或 RoR)是一种基于 Ruby 语言的开源 Web 开发框架,它遵循“约定优于配置”(Convention over Configuration, CoC)的原则,使得开发者能够快速构建出功能完备的 Web 应用。Rails 强调...

    RobHub:这是将Ruby on Rails与Emberjs结合在一起的一项正在进行的工作。 最终并希望这将是一个展示我撰写的文章,我的项目和我的简历的网站

    标题中的“RobHub”是一个项目,它旨在将两种强大的Web开发技术——Ruby on Rails和Ember.js——融合在一起,创建一个个人展示网站。这个网站预期的功能包括发布文章、展示项目和展示作者的简历,以此来全面展示作者...

    Rails相关电子书汇总二

    标题 "Rails相关电子书汇总二" 提供了我们即将探讨的主题——关于Ruby on Rails的电子书籍集合。Ruby on Rails(RoR)是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在...

    RoR中文解决方案(很不错哦)

    标题中的“RoR中文解决方案”指的是Ruby on Rails(简称RoR)的一个针对中文环境的解决方案。Ruby on Rails是一个开源的Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,用Ruby语言编写,旨在使开发...

    Apress.Beginning.Rails.3

    - **定义**:Ruby on Rails(简称 Rails 或 RoR)是一种用于快速开发 Web 应用程序的模型-视图-控制器(MVC)框架,由David Heinemeier Hansson创建。 - **特点**:Rails强调代码的简洁性和开发效率,遵循“约定优于...

    Ruby语言教程&案例&相关项目资源.docx

    - **流行框架**:如Ruby on Rails(RoR),极大地简化了Web应用的开发过程。 #### 二、案例 Ruby在实际应用中有着广泛的应用案例: - **NASA兰利研究中心**:使用Ruby进行仿真工作。 - **摩托罗拉**:一个研究...

    03Ruby 注释.docx

    其中最为人所熟知的是Ruby on Rails(简称RoR)这一Web开发框架,它采用了“约定优于配置”的设计理念,极大地简化了Web应用的开发过程,在全球范围内广受欢迎。 #### 二、Ruby 注释的重要性 在任何编程语言中,...

    New-blog:新闻类博客

    【标题】"新闻类博客"是一个基于Web的应用程序,它采用了现代Web开发的双重框架——Ruby on Rails作为后端框架,以及Angular作为前端框架。这个博客系统设计用于发布、管理和分享新闻类内容,旨在提供一个高效且用户...

    2009年QCon部分演讲稿

    他可能讲解了JRuby如何实现Ruby on Rails(RoR)框架在Java环境中的无缝集成,RoR是一个高效的Web开发框架,以其简洁的语法和快速开发能力闻名。通过JRuby,Java开发者可以利用Rails的生产力优势,同时保持与现有...

    Project-Jas-TV:西班牙电视节目的电视时间表

    《西班牙电视节目时间表——基于Ruby on Rails的项目解析》 在信息技术日益发达的今天,各种在线服务应运而生,其中包括对电视节目时间表的数字化管理。"Project-Jas-TV"是一个专为西班牙电视节目打造的在线时间表...

    blog_app:这是一个博客应用

    【Ruby on Rails 博客应用】是一个基于Ruby编程语言的Web开发框架——Rails构建的应用程序。这个名为"blog_app"的项目旨在提供一个完善的博客平台,让用户能够注册、登录、注销,并且对特定功能进行权限控制。以下是...

    simplemvc-blog:Ruby MVC课程的源代码-mvc source code

    Ruby on Rails框架(RoR)是Ruby语言中最知名的MVC实现之一,它遵循“Convention over Configuration”原则,大大简化了开发过程。例如,`rails generate controller Blog`命令会自动生成一个BlogController,并预...

    美妆

    【标题】:“美妆”——基于Ruby on Rails的美容电商平台 【描述】:“美妆”是一个由专业团队精心构建的Ruby on Rails应用,旨在为用户提供一站式的美容产品购买与交流平台。Ruby on Rails,简称RoR,是一款高效、...

    架构创新与演进(解决方案专场)——FreeWheel在微服务架构下的前端改造实践 共39页.pdf

    在改造之前,FreeWheel的前端架构主要基于Rails框架,并采用了RoR (Ruby on Rails) 开发模式。该系统已经经历了超过十年的发展历程,拥有20多个产品模块,共计1200多个页面。整个项目包含了约60余万行代码,其中近20...

Global site tag (gtag.js) - Google Analytics