Ruby-on-rails-rails-introduction

提供:Dev Guides
移動先:案内検索

Ruby on Rails-はじめに

Rubyとは何ですか?

Railsに乗る前に、RailsのベースであるRubyのいくつかのポイントを復習しましょう。

Rubyはの成功した組み合わせです-

  • Smalltalkの概念的な優雅さ、
  • Pythonの使いやすさと学習、そ​​して
  • Perlのプラグマティズム。

ルビーは-

  • 高レベルのプログラミング言語。
  • Perl、Python、Tcl/TKのように解釈されます。
  • Smalltalk、Eiffel、Ada、Javaのようなオブジェクト指向。

なぜルビーなのか?

Rubyは日本で生まれたもので、現在ではアメリカやヨーロッパでも人気が高まっています。 次の要因が人気に貢献しています-

  • 簡単に学べる
  • オープンソース(非常に自由なライセンス)
  • 豊富なライブラリ
  • 拡張が非常に簡単
  • 本当にオブジェクト指向
  • 少ないバグで少ないコーディング
  • 役立つコミュニティ

Rubyを使用する理由は数多くありますが、Rubyを実装する前に考慮しなければならない欠点もいくつかあります。

  • パフォーマンスの問題-PerlやPythonに匹敵しますが、依然としてインタープリター言語であり、CやC ++などの高レベルプログラミング言語と比較することはできません。
  • スレッドモデル-Rubyはネイティブスレッドを使用しません。 Rubyスレッドは、ネイティブOSスレッドとして実行されるのではなく、VMでシミュレートされます。

サンプル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は、_Seki Masatoshi_によって作成されたERB(Embedded Ruby)と呼ばれるプログラムを提供します。 ERBを使用すると、HTMLファイル内にRubyコードを配置できます。 ERBは単語ごとに読み、特定の時点でドキュメントに埋め込まれたRubyコードに遭遇すると、Rubyコードの実行を開始します。

あなたはERB文書を準備するために2つのことだけを知る必要があります-

  • 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を使用すると、通常のJavaフレームワークを使用した場合よりも少なくとも10倍速くWebアプリケーションを開発できます。
  • データベースを使用したWebアプリケーションを開発するためのオープンソースRubyフレームワーク。
  • データベーススキーマを使用してコードを構成します。
  • コンパイル段階は必要ありません。

フルスタックフレームワーク

  • Model-View-Controllerパターンを使用して、データベース駆動のWebアプリケーションを作成するために必要なすべてが含まれています。
  • フルスタックフレームワークであるということは、より少ないコードでシームレスに連携するようにすべてのレイヤーが構築されることを意味します。
  • 他のフレームワークよりも少ないコード行が必要です。

設定より規約

  • Railsでは、構成ファイルを排除して、規則、リフレクション、および動的ランタイム拡張機能を優先しています。
  • アプリケーションコードと実行中のデータベースには、Railsが知る必要のあるすべてのものがすでに含まれています。

Railsの強み

Railsには生産性を高める機能が満載されており、次の機能の多くが相互に構築されています。

メタプログラミング

他のフレームワークがゼロから大規模なコード生成を使用する場合、Railフレームワークはメタプログラミング技術を使用してプログラムを記述します。 Rubyはメタプログラミングに最適な言語の1つであり、Railsはこの機能をうまく利用しています。 Railsもコード生成を使用しますが、手間のかかる作業はメタプログラミングに依存しています。

アクティブレコード

Railsは、オブジェクトをデータベースに保存するActive Recordフレームワークを導入します。 RailsバージョンのActive Recordは、データベーススキーマ内の列を検出し、メタプログラミングを使用してそれらをドメインオブジェクトに自動的にアタッチします。

構成より規約

足場

NETまたはJava用のほとんどのWeb開発フレームワークでは、構成コードのページを書く必要があります。 提案された命名規則に従えば、Railsは多くの設定を必要としません。.

多くの場合、開発の初期段階で一時的なコードを作成して、アプリケーションをすばやく起動し、主要なコンポーネントがどのように連携するかを確認します。 Railsは必要な足場の多くを自動的に作成します。

組み込みテスト

Railsは単純な自動テストを作成し、それを拡張できます。 Railsは、テストケースの作成と実行を容易にするハーネスとフィクスチャと呼ばれるサポートコードも提供します。 Rubyは、rakeユーティリティを使用してすべての自動テストを実行できます。

3つの環境

Railsは、開発、テスト、実稼働の3つのデフォルト環境を提供します。 それぞれの動作はわずかに異なるため、ソフトウェア開発サイクル全体が簡単になります。 たとえば、Railsはテスト実行ごとにTestデータベースの新しいコピーを作成します。