SlideShare a Scribd company logo
1 of 23
{
Ruby on Rails -
wprowadzenie
KNSI, 27.02.2014r.
Łukasz Szyndzielorz l.szyndzielorz@gmail.com
Ruby on Rails (w skrócie Rails lub RoR) – jest to
framework (szkielte aplikacji, zestaw gotowych
bibliotek i narzędzi) napisany w języku Ruby,
przeznaczony do szybkiego tworzenia aplikacji
internetowych.
Ruby on Rails?
 Daje on programistom możliwość tworzenia stron i
aplikacji działających po stronie serwera (ang. Server-side),
komunikujących się z bazą danych oraz renderujących
tzw. widoki (ang. Views), co pozwala na oddzielenie logiki
biznesowej aplikacji od warstwy prezentacji.
Ruby on Rails?
 Środowisko Rails zostało napisane w 2004 roku
przez Davida Heinemeiera Hanssona,
amerykańskiego programistę duńskiego
pochodzenia, w firmie 37signals podczas pracy
nad oprogramowaniem do zarządzania
projektami Basecamp.
Ruby on Rails. Historia.
 Wzorzec architektoniczy MVC (ang. Model-View-
Controller). Model-Widok-Kontroler – jest to wzorzec
projektowy, który „dzieli aplikację na trzy warstwy, co
ułatwia jej tworzenie i późniejsze rozwijanie.”
 Model – w przypadku Rails, odpowiada on za
komunikację z bazą danych ,
 Kontroler – na podstawie danych wejściowych od
użytkownika, wchodzi
w interakcje z modelem, z którego pobiera dane, które ma
zwrócić do odpowiedniego widoku,
 Widok – jest odpowiedzialny za wyświetlenie
użytkownikowi danych przekazanych mu przez kontroler.
W środowisku Rails domyślnie używany jest do tego
system szablonów zwany Embedded Ruby (w skrócie ERB).
Pozwala on na osadzenie kodu języka Ruby w różnego
rodzaju dokumentach, np. html.
Główne założenia Ruby
on Rails
MVC
 Stosowanie konwencji (nazewniczych) zamiast konfiguracji
(ang. Convention over configuration) – dzięki
zaimplementowaniu tej strategii w środowisku Rails,
programiści nie muszą pisać kodu konfiguracyjnego w
plikach XML, tak jak ma to miejsce w innych środowiskach
np. Spring Framework w Javie . Framework Rails generuje
podstawowy, skonfigurowany już szkielet aplikacji, który
wymusza na programiście stosowanie odpowiednich
konwencji nazewniczych, co znacznie skraca proces
tworzenia oprogramowania.
Główne założenia Ruby
on Rails
 Rusztowania (ang. Scaffolding) – słownik języka
polskiego, definiuje rusztowanie, jako
„prowizoryczną konstrukcję z drewna lub z rur
stalowych, ułatwiająca wznoszenie lub remont
budowli”. Rusztowanie w informatyce ma
podobne znaczenie. Programiści wykorzystują
tymczasowy kod rusztowania, które tworzy
wstępne ramy, struktury i podstawowe
mechanizmy aplikacji
do czasu aż nie będzie gotowy właściwy kod
programu.
Główne założenia Ruby
on Rails
 Scaffolding jest jedną
z najpopularniejszych metod prototypowania aplikacji
internetowych, jest to technika metaprogramowania, która
generuje kod programu, na podstawie specyfikacji napisanej przez
programistę. Pozwala bardzo szybko stworzyć działającą aplikację
internetową, komunikującą się z bazą danych, zapewniającą
podstawową funkcjonalność, taką jak: zapis, odczyt, edycja,
kasowanie (ang. Create, Read, Update, Delete. w skrócie CRUD).
Dzięki temu, programista może sprawdzić jak główne
komponenty aplikacji będą współpracować ze sobą.
Główne założenia Ruby
on Rails
 Reguła DRY (ang. Don’t repeat yourself) – „Nie powtarzaj się!” – jest
to technika programistyczna, która ma na celu zminimalizowanie
liczby powtarzającego się kodu. Aby kod był suchy (DRY -
zawierający jak najmniejszą liczbę powtórzeń), należy
wyekstrahować powtarzający się kod do odpowiednich metod lub
modułów.
Główne założenia Ruby
on Rails
Świat:
 Twitter
 BaseCamp
 GitHub
 SlideShare
 YellowPages
 Shopify
 Groupon
 Spree
Polskie aplikacje:
 inFakt
 Versum
 KanbanTool
 Kwejk <Oryginał PHP, przepisany na ROR. Firma Cube Investments>
 Adtaily
 Gametrade
 Blip <kiedy funkcjonował>
 …i wiele więcej
Rails. Kto używa?
 Ruby (ang. rubin) jest to dynamiczny,
obiektowy, skryptowy język programowania
ogólnego przeznaczenia, który prócz
paradygmatu obiektowego wspiera również
paradygmaty programowania funkcyjnego i
proceduralnego.
Ruby. W nim napisany
RoR.
 Ruby został stworzony przez japońskiego
programistę Yukihiro Matsumoto, pseudonim
„Matz” w latach 1993-1995. Matsumoto „połączył
części jego ulubionych języków (Perla, Smalltalka, Eiffel,
Ady i Lispa) by uformować nowy język, który
zbalansował programowanie funkcjonalne wraz z
programowanie imperatywnym”.
 Przy opracowywaniu swojego języka, Matz, skupił
się na szybkości pisania kodu
i czytelności składni. Chciał stworzyć język
„potężniejszy niż Perl i bardziej zorientowany obiektowo
niż Python” i, jak twierdzi, „Ruby został
zaprojektowany, aby dawać szczęście programistom”.
Ruby. W nim napisany
RoR.
 Mimo że pierwsza wersja interpretera (v. 0.95)
została opublikowana w roku 1995, nie zyskał
on dużej popularności wśród programistów z
tzw. „głównego nurtu”. Był używany przede
wszystkim przez niewielką liczbę
administratorów do pisania skryptów
shellowych systemów operacyjnych z rodziny
UNIX.
 Dopiero pojawienie się frameworka Ruby on
Rails w 2004 roku sprawiło, że język Ruby
lawinowo zaczął zdobywać nowych
entuzjastów.
Ruby. W nim napisany
RoR.
TIOBE.com – jest serwis zajmujący się śledzeniem
popularności języków programowania, na podstawie
liczby programistów, ilości organizowanych kursów,
szkoleń i konferencji, liczbie forów i list mailingowych
poświęconych danemu językowi.
Z opublikowanego w kwietniu 2013 roku rankingu
stworzonego przez TIOBE.com, wynika, że Ruby
uplasowany został na dziewiątym miejscu w dziesiątce
najpopularniejszych języków programowania, a
jednocześnie awansował aż o cztery miejsca względem
ubiegłorocznego raportu. Sytuację tę pokazuje
ilustracja zaczerpnięta ze strony TIOBE.com.
Ruby. W nim napisany
RoR.
Ruby. W nim napisany
RoR.
Ruby. Główne cechy.
5.class #zwróci => Fixnum. To znaczy, że obiekt 5 jest klasy
Fixnum.0.33.class # zwróci => Float
"Hello, world!".class # zwróci => String
nil.class # zwróci => NilClass
Obiektowość - w Rubym wszystko jest
obiektem, począwszy od liczb, przez łańcuchy
znaków, na wartościach boolowskich, takich jak
true i false kończąc.
Nawet wartość nil, odpowiednik null w
językach Java czy C# jest obiektem klasy
NilClass. Na przykład:
Ruby. Główne cechy.
 Elegancka i prosta składnia – Ruby
jest językiem wysokiego poziomu
 W wyniku działania powyższego
kodu otrzymamy:
3.times do
print "Hello, world!„
end
„Hello, World! Hello, world! Hello world!”
Ruby. Główne cechy.
Dynamiczne typowanie (tzw.
Duck typing) - programista nie
musi deklarować typu zmiennej,
tak jak ma to miejsce w językach
kompilowanych, jak Java czy C#.
Ruby. Główne cechy.
Dynamiczne typowanie (tzw.
Duck typing) - programista nie
musi deklarować typu zmiennej,
tak jak ma to miejsce w językach
kompilowanych, jak Java czy C#.
Ruby. Główne cechy.
 Wbudowany system zarządzania pakietami –
RubyGems – umożliwia dystrybucję programów i
bibliotek napisanych w języku Ruby, za pomocą
paczek,
tzw. Gems (ang. perełki). Perełki tworzone i
rozwijane są przez społeczność programistów Ruby i
Ruby on Rails. Najczęściej udostępniane są na
wolnych licencjach, przez co każdy może z nich
korzystać i dowolnie je modyfikować. Dzięki temu,
wtyczki te są na bieżąco poprawiane, aktualizowane
i rozwijane,
 Open Source - Ruby jest projektem Open Source, jest
całkowicie darmowy
i rozpowszechniany na zasadach licencji GNU GPL.
Koniec części teoretycznej.
Dziękuję za uwagę.

More Related Content

Similar to Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Natalia Stanko
 
Język Ruby - wprowadzenie
Język Ruby - wprowadzenieJęzyk Ruby - wprowadzenie
Język Ruby - wprowadzenieRadarek
 
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowychRuby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowychWydawnictwo Helion
 
Programowanie w języku Ruby. Wydanie II
Programowanie w języku Ruby. Wydanie IIProgramowanie w języku Ruby. Wydanie II
Programowanie w języku Ruby. Wydanie IIWydawnictwo Helion
 
Ruby on Rails -- czy warto?
Ruby on Rails -- czy warto?Ruby on Rails -- czy warto?
Ruby on Rails -- czy warto?Piotr Macuk
 
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005Tomasz Bak
 
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiGrzegorz Bartman
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzkeGaldoMedia
 
Praktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. IPraktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. ILaravel Poland MeetUp
 
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...HighSolutions Sp. z o.o.
 
Rails 2 - web aplikacje bardziej subiektywnie
Rails 2 - web aplikacje bardziej subiektywnieRails 2 - web aplikacje bardziej subiektywnie
Rails 2 - web aplikacje bardziej subiektywnieBootstrap
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackThe Software House
 
Visual basic-2005-express-i-mysql
Visual basic-2005-express-i-mysqlVisual basic-2005-express-i-mysql
Visual basic-2005-express-i-mysqlPrzemysław Wolny
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do AspKelut
 
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?Andrzej Krzywda
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Adrian Kalbarczyk
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developeraTomasz Borowski
 

Similar to Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz (20)

Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
 
Język Ruby - wprowadzenie
Język Ruby - wprowadzenieJęzyk Ruby - wprowadzenie
Język Ruby - wprowadzenie
 
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowychRuby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych
 
Programowanie w języku Ruby. Wydanie II
Programowanie w języku Ruby. Wydanie IIProgramowanie w języku Ruby. Wydanie II
Programowanie w języku Ruby. Wydanie II
 
Ruby on Rails -- czy warto?
Ruby on Rails -- czy warto?Ruby on Rails -- czy warto?
Ruby on Rails -- czy warto?
 
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005
 
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
 
Praktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. IPraktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. I
 
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
 
Rails 2 - web aplikacje bardziej subiektywnie
Rails 2 - web aplikacje bardziej subiektywnieRails 2 - web aplikacje bardziej subiektywnie
Rails 2 - web aplikacje bardziej subiektywnie
 
Scala
ScalaScala
Scala
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
Visual basic-2005-express-i-mysql
Visual basic-2005-express-i-mysqlVisual basic-2005-express-i-mysql
Visual basic-2005-express-i-mysql
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do Asp
 
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developera
 

Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

  • 1. { Ruby on Rails - wprowadzenie KNSI, 27.02.2014r. Łukasz Szyndzielorz l.szyndzielorz@gmail.com
  • 2. Ruby on Rails (w skrócie Rails lub RoR) – jest to framework (szkielte aplikacji, zestaw gotowych bibliotek i narzędzi) napisany w języku Ruby, przeznaczony do szybkiego tworzenia aplikacji internetowych. Ruby on Rails?
  • 3.  Daje on programistom możliwość tworzenia stron i aplikacji działających po stronie serwera (ang. Server-side), komunikujących się z bazą danych oraz renderujących tzw. widoki (ang. Views), co pozwala na oddzielenie logiki biznesowej aplikacji od warstwy prezentacji. Ruby on Rails?
  • 4.  Środowisko Rails zostało napisane w 2004 roku przez Davida Heinemeiera Hanssona, amerykańskiego programistę duńskiego pochodzenia, w firmie 37signals podczas pracy nad oprogramowaniem do zarządzania projektami Basecamp. Ruby on Rails. Historia.
  • 5.  Wzorzec architektoniczy MVC (ang. Model-View- Controller). Model-Widok-Kontroler – jest to wzorzec projektowy, który „dzieli aplikację na trzy warstwy, co ułatwia jej tworzenie i późniejsze rozwijanie.”  Model – w przypadku Rails, odpowiada on za komunikację z bazą danych ,  Kontroler – na podstawie danych wejściowych od użytkownika, wchodzi w interakcje z modelem, z którego pobiera dane, które ma zwrócić do odpowiedniego widoku,  Widok – jest odpowiedzialny za wyświetlenie użytkownikowi danych przekazanych mu przez kontroler. W środowisku Rails domyślnie używany jest do tego system szablonów zwany Embedded Ruby (w skrócie ERB). Pozwala on na osadzenie kodu języka Ruby w różnego rodzaju dokumentach, np. html. Główne założenia Ruby on Rails
  • 6. MVC
  • 7.  Stosowanie konwencji (nazewniczych) zamiast konfiguracji (ang. Convention over configuration) – dzięki zaimplementowaniu tej strategii w środowisku Rails, programiści nie muszą pisać kodu konfiguracyjnego w plikach XML, tak jak ma to miejsce w innych środowiskach np. Spring Framework w Javie . Framework Rails generuje podstawowy, skonfigurowany już szkielet aplikacji, który wymusza na programiście stosowanie odpowiednich konwencji nazewniczych, co znacznie skraca proces tworzenia oprogramowania. Główne założenia Ruby on Rails
  • 8.  Rusztowania (ang. Scaffolding) – słownik języka polskiego, definiuje rusztowanie, jako „prowizoryczną konstrukcję z drewna lub z rur stalowych, ułatwiająca wznoszenie lub remont budowli”. Rusztowanie w informatyce ma podobne znaczenie. Programiści wykorzystują tymczasowy kod rusztowania, które tworzy wstępne ramy, struktury i podstawowe mechanizmy aplikacji do czasu aż nie będzie gotowy właściwy kod programu. Główne założenia Ruby on Rails
  • 9.  Scaffolding jest jedną z najpopularniejszych metod prototypowania aplikacji internetowych, jest to technika metaprogramowania, która generuje kod programu, na podstawie specyfikacji napisanej przez programistę. Pozwala bardzo szybko stworzyć działającą aplikację internetową, komunikującą się z bazą danych, zapewniającą podstawową funkcjonalność, taką jak: zapis, odczyt, edycja, kasowanie (ang. Create, Read, Update, Delete. w skrócie CRUD). Dzięki temu, programista może sprawdzić jak główne komponenty aplikacji będą współpracować ze sobą. Główne założenia Ruby on Rails
  • 10.  Reguła DRY (ang. Don’t repeat yourself) – „Nie powtarzaj się!” – jest to technika programistyczna, która ma na celu zminimalizowanie liczby powtarzającego się kodu. Aby kod był suchy (DRY - zawierający jak najmniejszą liczbę powtórzeń), należy wyekstrahować powtarzający się kod do odpowiednich metod lub modułów. Główne założenia Ruby on Rails
  • 11.
  • 12. Świat:  Twitter  BaseCamp  GitHub  SlideShare  YellowPages  Shopify  Groupon  Spree Polskie aplikacje:  inFakt  Versum  KanbanTool  Kwejk <Oryginał PHP, przepisany na ROR. Firma Cube Investments>  Adtaily  Gametrade  Blip <kiedy funkcjonował>  …i wiele więcej Rails. Kto używa?
  • 13.  Ruby (ang. rubin) jest to dynamiczny, obiektowy, skryptowy język programowania ogólnego przeznaczenia, który prócz paradygmatu obiektowego wspiera również paradygmaty programowania funkcyjnego i proceduralnego. Ruby. W nim napisany RoR.
  • 14.  Ruby został stworzony przez japońskiego programistę Yukihiro Matsumoto, pseudonim „Matz” w latach 1993-1995. Matsumoto „połączył części jego ulubionych języków (Perla, Smalltalka, Eiffel, Ady i Lispa) by uformować nowy język, który zbalansował programowanie funkcjonalne wraz z programowanie imperatywnym”.  Przy opracowywaniu swojego języka, Matz, skupił się na szybkości pisania kodu i czytelności składni. Chciał stworzyć język „potężniejszy niż Perl i bardziej zorientowany obiektowo niż Python” i, jak twierdzi, „Ruby został zaprojektowany, aby dawać szczęście programistom”. Ruby. W nim napisany RoR.
  • 15.  Mimo że pierwsza wersja interpretera (v. 0.95) została opublikowana w roku 1995, nie zyskał on dużej popularności wśród programistów z tzw. „głównego nurtu”. Był używany przede wszystkim przez niewielką liczbę administratorów do pisania skryptów shellowych systemów operacyjnych z rodziny UNIX.  Dopiero pojawienie się frameworka Ruby on Rails w 2004 roku sprawiło, że język Ruby lawinowo zaczął zdobywać nowych entuzjastów. Ruby. W nim napisany RoR.
  • 16. TIOBE.com – jest serwis zajmujący się śledzeniem popularności języków programowania, na podstawie liczby programistów, ilości organizowanych kursów, szkoleń i konferencji, liczbie forów i list mailingowych poświęconych danemu językowi. Z opublikowanego w kwietniu 2013 roku rankingu stworzonego przez TIOBE.com, wynika, że Ruby uplasowany został na dziewiątym miejscu w dziesiątce najpopularniejszych języków programowania, a jednocześnie awansował aż o cztery miejsca względem ubiegłorocznego raportu. Sytuację tę pokazuje ilustracja zaczerpnięta ze strony TIOBE.com. Ruby. W nim napisany RoR.
  • 17. Ruby. W nim napisany RoR.
  • 18. Ruby. Główne cechy. 5.class #zwróci => Fixnum. To znaczy, że obiekt 5 jest klasy Fixnum.0.33.class # zwróci => Float "Hello, world!".class # zwróci => String nil.class # zwróci => NilClass Obiektowość - w Rubym wszystko jest obiektem, począwszy od liczb, przez łańcuchy znaków, na wartościach boolowskich, takich jak true i false kończąc. Nawet wartość nil, odpowiednik null w językach Java czy C# jest obiektem klasy NilClass. Na przykład:
  • 19. Ruby. Główne cechy.  Elegancka i prosta składnia – Ruby jest językiem wysokiego poziomu  W wyniku działania powyższego kodu otrzymamy: 3.times do print "Hello, world!„ end „Hello, World! Hello, world! Hello world!”
  • 20. Ruby. Główne cechy. Dynamiczne typowanie (tzw. Duck typing) - programista nie musi deklarować typu zmiennej, tak jak ma to miejsce w językach kompilowanych, jak Java czy C#.
  • 21. Ruby. Główne cechy. Dynamiczne typowanie (tzw. Duck typing) - programista nie musi deklarować typu zmiennej, tak jak ma to miejsce w językach kompilowanych, jak Java czy C#.
  • 22. Ruby. Główne cechy.  Wbudowany system zarządzania pakietami – RubyGems – umożliwia dystrybucję programów i bibliotek napisanych w języku Ruby, za pomocą paczek, tzw. Gems (ang. perełki). Perełki tworzone i rozwijane są przez społeczność programistów Ruby i Ruby on Rails. Najczęściej udostępniane są na wolnych licencjach, przez co każdy może z nich korzystać i dowolnie je modyfikować. Dzięki temu, wtyczki te są na bieżąco poprawiane, aktualizowane i rozwijane,  Open Source - Ruby jest projektem Open Source, jest całkowicie darmowy i rozpowszechniany na zasadach licencji GNU GPL.