Ruby on Rails - 簡介



什麼是 Ruby?

在學習 Rails 之前,讓我們回顧一下 Ruby 的幾個要點,它是 Rails 的基礎。

Ruby 是以下幾種程式語言的成功結合:

  • Smalltalk 的概念優雅性,
  • Python 的易用性和易學性,以及
  • Perl 的實用性。

Ruby 是:

  • 一種高階程式語言。
  • 像 Perl、Python、Tcl/TK 一樣是解釋型語言。
  • 像 Smalltalk、Eiffel、Ada、Java 一樣是面向物件的。

為什麼選擇 Ruby?

Ruby 起源於日本,現在在美國和歐洲也越來越受歡迎。以下因素促成了它的流行:

  • 易於學習
  • 開源(非常寬鬆的許可證)
  • 豐富的庫
  • 非常容易擴充套件
  • 真正面向物件
  • 程式碼更少,bug 更少
  • 有幫助的社群

儘管我們有很多理由使用 Ruby,但也有一些缺點需要在實施 Ruby 之前考慮:

  • 效能問題 - 雖然它可以與 Perl 和 Python 相媲美,但它仍然是一種解釋型語言,我們不能將其與 C 或 C++ 等高階程式語言相比較。

  • 執行緒模型 - Ruby 不使用原生執行緒。Ruby 執行緒是在虛擬機器中模擬的,而不是作為原生作業系統執行緒執行。

Ruby 程式碼示例

這是一個列印“Hello Ruby”的 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

輸出 - 這將產生以下結果:

Hello Ruby!

嵌入式 Ruby

Ruby 提供了一個名為 ERB(嵌入式 Ruby)的程式,由Seki Masatoshi編寫。ERB 允許您將 Ruby 程式碼放入 HTML 檔案中。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執行程式。

tp> 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 編寫。

  • 使用 Rails 開發 Web 應用程式的速度至少比使用典型的 Java 框架快十倍。

  • 一個用於開發基於資料庫的 Web 應用程式的開源 Ruby 框架。

  • 使用資料庫模式配置您的程式碼。

  • 不需要編譯階段。

全棧框架

  • 包含建立資料庫驅動 Web 應用程式所需的一切,使用模型-檢視-控制器模式。

  • 作為全棧框架意味著所有層都構建在一起,以更少的程式碼無縫協同工作。

  • 比其他框架需要更少的程式碼行。

約定優於配置

  • Rails 摒棄配置檔案,轉而採用約定、反射和動態執行時擴充套件。

  • 您的應用程式程式碼和正在執行的資料庫已經包含 Rails 需要知道的一切!

Rails 的優勢

Rails 充滿了使您更高效的功能,其中許多功能相互構建。

超程式設計

在其他框架使用從頭開始的廣泛程式碼生成的地方,Rail 框架使用超程式設計技術來編寫程式。Ruby 是最適合超程式設計的語言之一,Rails很好地利用了這種能力。Rails 也使用程式碼生成,但更多地依賴超程式設計來完成繁重的工作。

Active Record

Rails 引入了 Active Record 框架,它將物件儲存到資料庫中。Rails 版本的 Active Record 會發現資料庫模式中的列,並使用超程式設計自動將它們附加到您的域物件。

約定優於配置

大多數 .NET 或 Java 的 Web 開發框架都要求您編寫幾頁配置程式碼。如果您遵循建議的命名約定,Rails 不需要太多配置。

腳手架

您經常在開發的早期階段建立臨時程式碼,以幫助快速啟動應用程式並檢視主要元件如何協同工作。Rails 會自動建立您需要的大部分腳手架。

內建測試

Rails 建立簡單的自動化測試,然後您可以對其進行擴充套件。Rails 還提供名為 harness 和 fixtures 的支援程式碼,使測試用例更易於編寫和執行。然後,Ruby 可以使用 rake 實用程式執行所有自動化測試。

三個環境

Rails 為您提供了三個預設環境:開發、測試和生產。每個環境的行為略有不同,使您的整個軟體開發生命週期更容易。例如,Rails 為每次測試執行建立一個新的 Test 資料庫副本。

廣告
© . All rights reserved.