在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Ruby/ Ruby on Rails 是什么?
Ruby On Rails
Ruby on Rails 是什么?

Ruby on Rails 是什么?

Ruby是什么 ?

我們在使用Rails之前,讓我們知道一點(diǎn)點(diǎn)關(guān)于Ruby是Rails的基礎(chǔ)。

Ruby 是成功的結(jié)合:

  • Smalltalk的概念上的優(yōu)雅,
  • Python 易于使用和學(xué)習(xí),
  • Perl 實(shí)用主義

Ruby 是

  • 一個(gè)高層次的編程語言
  • 像Perl,Python和Tcl/ TK 的解釋。
  • 面向?qū)ο蟮?,如:Smalltalk, Eiffel, Ada, Java.
  • 起源于日本,并迅速在美國和歐洲獲得廣泛關(guān)注。

為什么選擇Ruby ?

Ruby在日本,美國和歐洲越來越受歡迎。以下是最大的因素:

  • 簡單易學(xué)
  • 開源(非常寬松許可證)
  • 豐富的庫
  • 很容易擴(kuò)展
  • 真正的面向?qū)ο?/li>
  • 編碼錯(cuò)誤更少
  • 幫助社區(qū)

為什么不用 Ruby ?

  • 性能 - 雖然它匹敵Perl和Python。
  • 線程模型不使用原生線程。

Ruby代碼示例:

下面是一個(gè)示例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 提供了一個(gè)叫ERb(嵌入式的Ruby),由Seki Masatoshi編寫的程序。ERB允許把一個(gè)HTML文件里面加入Ruby代碼。ERb逐字逐句,然后在某一個(gè)點(diǎn)時(shí),看到Ruby代碼嵌入到文檔中看到,它已經(jīng)填補(bǔ)一個(gè)空白,它通過執(zhí)行Ruby代碼。

需要知道的只有兩件事情,準(zhǔn)備ERb的文件:

  • 如果想執(zhí)行一些Ruby代碼,請將它寫在 <% 和 %>之間 

  • 如果想執(zhí)行的代碼打印出來的結(jié)果,作為輸出的一部分,請將代碼寫入到 <%= 和 %>之間.

下面是一個(gè)例子,保存的代碼在erbdemo.rb文件。請注意Ruby的文件將有擴(kuò)展 .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>

現(xiàn)在,運(yùn)行程序,使用命令行實(shí)用程序 erb

c:\ruby\>erb erbdemo.rb

這將產(chǎn)生以下結(jié)果:

<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是什么?

  • 一個(gè)非常富有成效的web應(yīng)用框架。
  • 由David Heinemeier Hansson用Ruby編寫。
  • 可以開發(fā)一個(gè)Web應(yīng)用程序比用一個(gè)典型的Java框架至少十倍的速度。
  • 一個(gè)開源Ruby框架,用于開發(fā)數(shù)據(jù)庫支持的Web應(yīng)用程序。
  • 代碼和數(shù)據(jù)庫架構(gòu)的配置!
  • 無需編譯階段。

完整的堆??蚣?/h2>
  • 包括一切需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫驅(qū)動的Web應(yīng)用程序使用的模型 - 視圖 - 控制器模式。
  • 作為一個(gè)全棧框架意味著所有圖層建立無縫協(xié)同工作,更少的代碼。
  • 需要更少的總的代碼行比其他框架花在建立自己的XML配置文件。

約定優(yōu)于配置

  • Rails 回避贊成配置文件的約定,反射和動態(tài)運(yùn)行時(shí)擴(kuò)展。應(yīng)用程序代碼和運(yùn)行的數(shù)據(jù)庫已經(jīng)包含了Rails需要知道的一切!

Rails 優(yōu)勢:

Rails是包裝功能,更有效率,許多基礎(chǔ)上另一個(gè)具有以下特點(diǎn)。

元編程 : 其他框架使用大量的代碼生成從零開始。使用元編程技術(shù)方案編寫程序。 Ruby是的元編程最好的語言之一,Rails使用此功能。Rails的也采用代碼生成,元編程繁重,但更依賴。

活動記錄 : Rails 介紹活動記錄的框架,這將對象保存到數(shù)據(jù)庫?;顒佑涗洶l(fā)現(xiàn) Rails版本的數(shù)據(jù)庫架構(gòu)中的列,并自動附加到對象域使用元編程。

約定優(yōu)于配置: 大多數(shù)Web開發(fā)框架.NET或Java,迫使寫配置代碼的頁面。如果遵循建議的命名約定時(shí),Rails不需要太多的配置。

腳手架: 經(jīng)常在發(fā)展的早期階段,以幫助應(yīng)用程序快速創(chuàng)建臨時(shí)代碼,主要組成部分是如何一起工作。 Rails自動創(chuàng)建很多需要的腳手架。

內(nèi)置測試: Rails創(chuàng)建簡單的自動化測試,也可以擴(kuò)展。Rails也提供支持所謂的安全帶及裝置,使更容易編寫和運(yùn)行測試用例的代碼。 Ruby可以執(zhí)行所有耙子實(shí)用程序的自動化測試。

三種環(huán)境: Rails 提供了三種默認(rèn)的環(huán)境:開發(fā),測試和生產(chǎn)。每個(gè)人的行為方式略有不同,更容易使整個(gè)軟件開發(fā)周期。例如,Rails的測試數(shù)據(jù)庫中創(chuàng)建一個(gè)新的副本,每個(gè)測試運(yùn)行。


下一篇:Ruby On Rails