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," %>

<%= page\_title %>

<%= salutation %>

This is an example of how ERb fills out a template.

現在,運行程序,使用命令行實用程序 erb

c:\ruby\>erb erbdemo.rb

這將產生以下結果:

Demonstration of ERb

Dear programmer,

This is an example of how ERb fills out a template.

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的測試數據庫中創建一個新的副本,每個測試運行。