Ruby on Rails 是什么?
Ruby是什么 ?
我们在使用Rails之前,让我们知道一点点关于Ruby是Rails的基础。
Ruby 是成功的结合:
- Smalltalk的概念上的优雅,
- Python 易于使用和学习,
- Perl 实用主义
Ruby 是
- 一个高层次的编程语言
- 像Perl,Python和Tcl/ TK 的解释。
- 面向对象的,如:Smalltalk, Eiffel, Ada, Java.
- 起源于日本,并迅速在美国和欧洲获得广泛关注。
为什么选择Ruby ?
Ruby在日本,美国和欧洲越来越受欢迎。以下是最大的因素:
- 简单易学
- 开源(非常宽松许可证)
- 丰富的库
- 很容易扩展
- 真正的面向对象
- 编码错误更少
- 帮助社区
为什么不用 Ruby ?
- 性能 - 虽然它匹敌Perl和Python。
- 线程模型不使用原生线程。
Ruby代码示例:
下面是一个示例Ruby代码打印 "Hello Ruby"
# The Hello Class class Hello def initialize( name ) @name = name.capitalize end def salute puts "Hello #{@name}!" end end # Create a new object h = Hello.new("Ruby") # Output "Hello Ruby!" h.salute |
嵌入式Ruby:
Ruby 提供了一个叫ERb(嵌入式的Ruby),由Seki Masatoshi编写的程序。ERB允许把一个HTML文件里面加入Ruby代码。ERb逐字逐句,然后在某一个点时,看到Ruby代码嵌入到文档中看到,它已经填补一个空白,它通过执行Ruby代码。
需要知道的只有两件事情,准备ERb的文件:
-
如果想执行一些Ruby代码,请将它写在 <% 和 %>之间
-
如果想执行的代码打印出来的结果,作为输出的一部分,请将代码写入到 <%= 和 %>之间.
下面是一个例子,保存的代码在erbdemo.rb文件。请注意Ruby的文件将有扩展 .rb
<% page_title = "Demonstration of ERb" %> <% salutation = "Dear programmer," %> <html> <head> <title><%= page_title %></title> </head> <body> <p><%= salutation %></p> <p>This is an example of how ERb fills out a template.</p> </body> </html> |
现在,运行程序,使用命令行实用程序 erb
c:\ruby\>erb erbdemo.rb |
这将产生以下结果:
<html> <head> <title>Demonstration of ERb</title> </head> <body> <p>Dear programmer,</p> <p>This is an example of how ERb fills out a template.</p> </body> </html> |
Rails是什么?
- 一个非常富有成效的web应用框架。
- 由David Heinemeier Hansson用Ruby编写。
- 可以开发一个Web应用程序比用一个典型的Java框架至少十倍的速度。
- 一个开源Ruby框架,用于开发数据库支持的Web应用程序。
- 代码和数据库架构的配置!
- 无需编译阶段。
完整的堆栈框架
- 包括一切需要创建一个数据库驱动的Web应用程序使用的模型 - 视图 - 控制器模式。
- 作为一个全栈框架意味着所有图层建立无缝协同工作,更少的代码。
- 需要更少的总的代码行比其他框架花在建立自己的XML配置文件。
约定优于配置
- Rails 回避赞成配置文件的约定,反射和动态运行时扩展。应用程序代码和运行的数据库已经包含了Rails需要知道的一切!
Rails 优势:
Rails是包装功能,更有效率,许多基础上另一个具有以下特点。
元编程 : 其他框架使用大量的代码生成从零开始。使用元编程技术方案编写程序。 Ruby是的元编程最好的语言之一,Rails使用此功能。Rails的也采用代码生成,元编程繁重,但更依赖。
活动记录 : Rails 介绍活动记录的框架,这将对象保存到数据库。活动记录发现 Rails版本的数据库架构中的列,并自动附加到对象域使用元编程。
约定优于配置: 大多数Web开发框架.NET或Java,迫使写配置代码的页面。如果遵循建议的命名约定时,Rails不需要太多的配置。
脚手架: 经常在发展的早期阶段,以帮助应用程序快速创建临时代码,主要组成部分是如何一起工作。 Rails自动创建很多需要的脚手架。
内置测试: Rails创建简单的自动化测试,也可以扩展。Rails也提供支持所谓的安全带及装置,使更容易编写和运行测试用例的代码。 Ruby可以执行所有耙子实用程序的自动化测试。
三种环境: Rails 提供了三种默认的环境:开发,测试和生产。每个人的行为方式略有不同,更容易使整个软件开发周期。例如,Rails的测试数据库中创建一个新的副本,每个测试运行。