`
kidiaoer
  • 浏览: 818738 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

ROR是什么[概念]

阅读更多
ROR是什么[概念]
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应用开发。  
分享到:
评论

相关推荐

    ror中文资料

    学习RoR中文资料,应首先从Ruby语言入手,掌握其基本语法和面向对象特性,然后深入理解Rails框架的核心概念和工作原理,通过实践项目来巩固知识。同时,不断关注社区动态,了解最新的Gem和最佳实践,以便不断提升...

    神经网络ror resenet模型

    Ror模型是在ResNet基础上进行改进的,它引入了“残差的残差”概念。这种设计旨在更深入地分解特征学习过程,使得网络能更好地捕获复杂模式。在Ror块中,不仅有常规的残差学习,还有更高层次的残差学习,即残差学习的...

    RoR选题方向—源代码

    在深入源代码之前,我们需要了解RoR的一些核心概念。如ActiveRecord,它是RoR中的ORM(对象关系映射)库,允许开发者用Ruby代码操作数据库,而无需编写SQL。另一个关键组件是ActionController,它处理HTTP请求并返回...

    初探ROR

    **初探ROR** ...对于初学者,深入理解Ruby语言和Rails框架的原理,掌握其核心概念和最佳实践,将是迈进Web开发领域的重要一步。通过学习和实践,你将能够利用ROR构建出功能强大、易于维护的Web应用程序。

    机遇ROR 的图书管理系统

    学习这个系统前,你需要掌握Ruby的基本语法、变量、数据类型、控制结构以及面向对象编程的概念,如类、对象、继承和模块。 2. **Rails框架**:Rails框架为开发者提供了一整套工具和约定,如ActiveRecord(用于...

    ROR介绍演讲课件 ruby on rails

    Ruby on Rails,简称RoR,是由David Heinemeier Hansson基于Ruby语言开发的一款开源Web应用...通过本课件“ROR介绍演讲”,你可以深入理解RoR的基础概念、工作原理及其在实际项目中的应用,进一步提升你的web开发技能。

    RoR 培训课程PPT

    - **课程性质**:本课程为为期五天的Ruby on Rails(简称RoR)入门级培训,适合初学者快速掌握RoR的基本概念和技术要点。 - **讲师信息**:由Peter Marklund开发并讲解,Peter是一位经验丰富的Ruby on Rails开发者。...

    ror留言板程序

    "ror留言板程序"是一个基于Ruby ...此外,还可以了解到测试驱动开发(TDD)的概念,以及如何组织和管理一个Rails项目。对于初学者来说,这是一个很好的实践项目,可以深入理解Rails框架的运作机制,并提升Web开发技能。

    RoR,十分钟做Blog

    【RoR,十分钟做Blog】这篇教程主要介绍了如何使用Ruby on Rails(RoR)框架在NetBeans IDE上快速创建一个简单的博客程序。...学习RoR不仅涉及这些基础步骤,还需要了解路由、认证、错误处理、测试等更高级的概念。

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

    Jascaffold可能参考了Java开发中的Scaffold概念,简化了UI层面的编写工作,使得开发者可以更专注于业务逻辑。 综上所述,这个“RoR中文解决方案”可能包含了一系列针对中文环境的优化措施,例如中文插件、数据库...

    ror系列

    在《Programming Ruby 2nd》中,作者深入浅出地讲解了Ruby语言的基础语法、类与对象、模块、方法、块、 Proc 和 Lambdas、变量、常量、控制结构、异常处理等核心概念。此外,书中还探讨了Ruby的元编程特性,这是Ruby...

    我的ror的第一天

    内容可能涵盖从基础概念如路由、控制器、模型、视图到更高级的主题,如ActiveRecord ORM(对象关系映射)、Rails的生成器(generators)、测试和调试技巧等。 总的来说,这个主题对于想要学习或正在学习Ruby on ...

    敏捷开发第二版ROR必看

    1. **基础篇**:介绍Ruby语言基础,Rails框架的基本概念和安装,以及开发环境的搭建。 2. **实战篇**:通过实际项目案例,演示如何使用Rails开发功能齐全的Web应用,包括模型、视图和控制器的实现。 3. **高级篇**:...

    learnRoR:艰难地学习RoR

    接着,要掌握Ruby的基本语法和面向对象编程的概念,如类、方法、变量等。然后,学习路由(Routes)如何将HTTP请求映射到特定的控制器动作,以及ActiveRecord如何简化数据库操作。此外,还需要了解 erb 或haml等模板...

    ROR books 经典教程 入门 提高

    这份资料主要介绍了 Ruby 语言的基础知识、核心概念以及高级应用,并通过实际案例帮助读者掌握 Ruby 的使用方法。 ### 标题:“ROR books 经典教程 入门 提高” 此标题表明该教程是关于 Ruby on Rails (ROR) 相关...

    计算机软件-编程源码-FOXPRO ROR WINDOWS 高级成程序设计技术.zip

    "ROR"可能是“ Rapid Object-Oriented Reporting”的缩写,意味着这个压缩包可能包含了一些关于快速创建面向对象报告的工具或示例。 在"FOXPRO ROR WINDOWS 高级成程序设计技术.zip"中,我们可能找到一系列高级编程...

    ror培训第2天 object1

    标题和描述中提到的是Ruby on Rails(RoR)培训的第二天内容,主要涉及Ruby语言的面向对象编程基础,包括类和对象的概念、变量类型以及对象的创建。 1. **面向对象基础** - **类与对象**:类可以理解为一个模板...

    RoR-Newsroom:熨斗的RoR项目

    它融合了数据库设计、认证、授权、工作流管理等多个关键概念,为内容创作者提供了一个安全、高效的工作环境。通过对RoR Newsroom源代码的深入学习,开发者可以提升在RoR框架下的开发能力,更好地理解和应用Web开发的...

Global site tag (gtag.js) - Google Analytics