Ruby on Rails - Wprowadzenie

Co to jest Ruby?

Zanim zaczniemy jeździć na Railsach, podsumujmy kilka punktów Rubiego, który jest podstawą Railsów.

Ruby to udane połączenie -

  • Konceptualna elegancja Smalltalka,
  • Łatwość obsługi i nauki języka Python oraz
  • Pragmatyzm Perla.

Ruby jest -

  • Język programowania wysokiego poziomu.
  • Zinterpretowany jak Perl, Python, Tcl / TK.
  • Zorientowany obiektowo, jak Smalltalk, Eiffel, Ada, Java.

Dlaczego Ruby?

Rubin powstał w Japonii, a teraz zyskuje popularność także w USA i Europie. Na jego popularność składają się następujące czynniki -

  • Łatwe do nauki
  • Open source (bardzo liberalna licencja)
  • Bogate biblioteki
  • Bardzo łatwe do przedłużenia
  • Prawdziwie zorientowany obiektowo
  • Mniej kodowania i mniej błędów
  • Pomocna społeczność

Chociaż mamy wiele powodów, aby używać Rubiego, istnieje również kilka wad, które warto rozważyć przed wdrożeniem Rubiego:

  • Performance Issues - Chociaż rywalizuje z Perlem i Pythonem, nadal jest językiem interpretowanym i nie możemy go porównać z językami programowania wysokiego poziomu, takimi jak C czy C ++.

  • Threading model- Ruby nie używa natywnych wątków. Wątki Ruby są symulowane w maszynie wirtualnej, a nie działają jako natywne wątki systemu operacyjnego.

Przykładowy kod Ruby

Oto przykładowy kod Ruby do wydrukowania „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

Output - To da następujący wynik -

Hello Ruby!

Wbudowany Ruby

Ruby dostarcza program o nazwie ERB (Embedded Ruby), napisany przez Seki Masatoshiego . ERB pozwala na umieszczanie kodów Ruby w pliku HTML. ERB czyta dalej, słowo w słowo, a następnie w pewnym momencie, gdy napotka kod Ruby osadzony w dokumencie, rozpoczyna wykonywanie kodu Ruby.

Aby przygotować dokument ERB, musisz wiedzieć tylko dwie rzeczy -

  • Jeśli chcesz, aby jakiś kod Ruby został wykonany, umieść go między <% i %>.

  • Jeśli chcesz, aby wynik wykonania kodu został wydrukowany jako część danych wyjściowych, umieść kod między <%= i %>.

Oto przykład. Zapisz kod w pliku erbdemo.rb. Zauważ, że plik Ruby będzie miał rozszerzenie.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>

Teraz uruchom program za pomocą narzędzia wiersza poleceń erb.

tp> erb erbdemo.rb

To da następujący wynik -

<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>

Co to jest Rails?

  • Niezwykle produktywna struktura aplikacji internetowych.

  • Napisane w Ruby przez Davida Heinemeiera Hanssona.

  • Możesz stworzyć aplikację internetową co najmniej dziesięć razy szybciej w Railsach niż w typowym frameworku Java.

  • Framework Ruby o otwartym kodzie źródłowym do tworzenia aplikacji internetowych opartych na bazach danych.

  • Skonfiguruj swój kod za pomocą schematu bazy danych.

  • Nie jest wymagana faza kompilacji.

Pełna struktura stosu

  • Zawiera wszystko, co jest potrzebne do stworzenia aplikacji internetowej opartej na bazie danych, przy użyciu wzorca Model-View-Controller.

  • Struktura pełnego stosu oznacza, że ​​wszystkie warstwy są zbudowane tak, aby bezproblemowo współpracowały z mniejszą ilością kodu.

  • Wymaga mniej wierszy kodu niż inne frameworki.

Konwencja nad konfiguracją

  • Railsy unika plików konfiguracyjnych na rzecz konwencji, odbić i dynamicznych rozszerzeń środowiska uruchomieniowego.

  • Twój kod aplikacji i działająca baza danych zawierają już wszystko, co Railsy muszą wiedzieć!

Mocne strony szyn

Railsy są wyposażone w funkcje, które zwiększają produktywność, a wiele z poniższych funkcji opiera się na sobie nawzajem.

Metaprogramowanie

Tam, gdzie inne frameworki używają obszernego generowania kodu od zera, framework Rail używa technik metaprogramowania do pisania programów. Ruby jest jednym z najlepszych języków do metaprogramowania, a Railsy dobrze wykorzystują tę możliwość. Railsy również używają generowania kodu, ale znacznie bardziej polegają na metaprogramowaniu do podnoszenia ciężarów.

Rekord aktywny

Railsy wprowadzają framework Active Record, który zapisuje obiekty w bazie danych. Wersja modułu Active Record Railsowego wykrywa kolumny w schemacie bazy danych i automatycznie dołącza je do obiektów domeny za pomocą metaprogramowania.

Konwencja dotycząca konfiguracji

Większość platform programistycznych dla .NET lub Java wymusza pisanie stron z kodem konfiguracyjnym. Jeśli zastosujesz się do sugerowanych konwencji nazewnictwa, Railsy nie potrzebują dużo konfiguracji.

Rusztowanie

Często tworzysz tymczasowy kod na wczesnych etapach programowania, aby pomóc w szybkim uruchomieniu aplikacji i zobaczyć, jak współpracują ze sobą główne komponenty. Railsy automatycznie tworzą większość potrzebnych rusztowań.

Wbudowane testy

Railsy tworzą proste testy automatyczne, które możesz następnie rozszerzyć. Railsy zapewniają również pomocniczy kod zwany wiązkami i urządzeniami, który ułatwia pisanie i uruchamianie przypadków testowych. Ruby może następnie wykonać wszystkie testy automatyczne za pomocą narzędzia rake.

Trzy środowiska

Railsy oferują trzy domyślne środowiska: programistyczne, testowe i produkcyjne. Każdy zachowuje się nieco inaczej, ułatwiając cały cykl tworzenia oprogramowania. Na przykład Railsy tworzą nową kopię bazy danych Test dla każdego przebiegu testu.