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的測試資料庫中建立一個新的副本,每個測試執行。