Omówienie frameworku Ruby on Rails : Wprowadzenie

Transkrypt

Omówienie frameworku Ruby on Rails : Wprowadzenie
Damian Danak
Czym jest Ruby on Rails?
Ruby on Rails - napisany w języku Ruby
framework open source do szybkiego
tworzenia aplikacji internetowych w
oparciu o architekturę MVC
 David Heinemeier Hansson – twórca
Rails

Damian Danak
Ruby on Rails
Kto korzysta z Rails
www.twitter.com
Damian Danak
Ruby on Rails
Kto korzysta z Rails
http://basecamphq.com
Damian Danak
Ruby on Rails
Kto korzysta z Rails
http://www.shopify.com
Damian Danak
Ruby on Rails
Kto korzysta z Rails
http://github.com
Ruby on Rails
Kto korzysta z Rails
http://www.blip.pl
Damian Danak
Ruby on Rails
Główne koncepcje Rails




szybkość, łatwość i przyjemność pisania kodu
reguła DRY (ang. Don't Repeat Yourself),
polegająca na unikaniu powtarzania tej samej w
funkcjonalności różnych miejscach pracy
reguła Convention Over Configuration, polegająca
na sprowadzeniu do minimum niezbędnej
konfiguracji przez zastępowanie jej gotowymi
domyślnymi, zalecanymi wzorcami
możliwość użycia dodatkowych modułów, które w
sposób błyskawiczny rozszerzają aplikacje o
rozmaite funkcjonalności jak logowanie, skalowanie
obrazków, czy tagowanie
Damian Danak
Ruby on Rails
Architektura aplicacji Rails
Na framework Rails składają się głównie
elementy:
 ActiveRecord – mechanizm ORM (ObjectRelational mapping) dla Ruby, odpowiada za
tworzenie modeli w architekturze MVC
 ActionPack – biblioteka zawierająca klasy
ActionController i ActionView, które
odpowiadają za tworzone kontrolery i widoki
Damian Danak
Ruby on Rails
Architektura aplicacji Rails
Damian Danak
Ruby on Rails
Architektura aplikacji Rails
1
6
Kontroler
5
Widok
4
2
Model
3
Baza Danych
Konwencja
a konfiguracja w Rails
Konwencja
a konfiguracja w Rails
Programowanie z
nastawieniem na testy
W Ruby on Rails kładzie się silny nacisk na
programowanie sterowane testami, czyli tzw.
TDD (ang. Test-Driven Development). Istotą
testów jest zautomatyzowany proces weryfikacji
kodu. Poza tym powinny one być również pisane
tak, aby definiować oczekiwania w stosunku do
aplikacji. Pomaga to sterować tworzeniem
nowego programu, zmuszając do myślenia
o niewielkich, dających się rozdzielić
fragmentach kodu przez co powstający zapis jest
łatwiej analizować.
Damian Danak
REST
REST (ang. Representational State Transfer) to koncepcja, która
powstała w 2000 roku jako rozprawa doktorska Roya Fieldinga,
współtwórcy protokołu HTTP i serwera Apache. Idea podejścia
zorientowanego na zasoby wywodzi się z faktu, że aplikacje
internetowe opierają się na interakcjach użytkowników z różnymi
zasobami, a nie wywoływaniem zdalnych usług. Wszystkie aplikacje
REST zapewniają ten sam zestaw instrukcji umożliwiających
działanie na zasobach i opierają się na akcjach CRUD (ang. Create,
Read, Update, Delete).
Reguła DRY
Reguła DRY (ang. Don’t Repeat Yourself – nie powtarzaj się)
propaguje sposób tworzenia aplikacji, w którym powtarzający się kod
programu separuje się, umieszczając go w jednym miejscu aplikacji,
a dostęp do niego uzyskuje się poprzez tworzenie odwołań do niego.
Takie podejście jest wygodne, ponieważ ogranicza ilość błędów,
które mogą powstać podczas refaktoryzacji kodu, a także
przyśpiesza pracę podczas jego konserwacji, ponieważ ewentualne
zmiany dokonywane są w jednym miejscu aplikacji. Ponadto
znacząco zwiększa to czytelność kodu. Najbardziej
rozpowszechnione mechanizmy pomagające realizować tą regułę to:
funkcje, moduły, makra czy biblioteki. Dodatkowo w Rails
realizowane jest to za pomocą tzw. helpers (funkcje pomocnicze)
oraz partials (fragmenty).
Czym jest Ruby?
Ruby - to interpretowany po stronie
serwera, w pełni obiektowy i dynamicznie
typowany język programowania stworzony
w 1995 roku przez Yukihiro Matsumoto
Język Ruby
Język Ruby na tle innych języków programowania
Dzięki Ruby on Rails
nastąpił duży wzrost
zainteresowania językiem
Ruby
Wg indeksu TIOBE
(www.tiobe.com)
język Ruby jest obecnie 10
najpopularniejszym
językiem programowania.
Damian Danak
Język Ruby
Język Ruby na tle innych języków programowania
Język
programowania
Pozycja
Wrzesień 2010
Pozycja
Wrzesień 2005
Java
1
1
-
-
C
2
2
1
1
C++
3
3
2
10
PHP
4
5
-
-
(Visual) Basic
5
6
3
4
C#
6
7
-
-
Python
7
8
21
-
Objective-C
8
44
-
-
Perl
9
4
8
-
Ruby
10
25
-
-
Lisp
13
14
7
2
Ada
19
17
6
3
Pozycja
Pozycja
Wrzesień 1995 Wrzesień 1985
Damian Danak
Język Ruby
Cechy języka Ruby
Ruby posiada:






prostą składnię
automatyczne odśmiecanie pamięci (ang. garbage collector)
wyrażenia regularne wbudowane w składnię
"Duck typing" - rozpoznawanie typów na podstawie ich
zachowania, a nie deklaracji
moduły - rodzaj wielodziedziczenia pozwalający włączyć gotową
implementację zbioru metod do danej klasy
możliwość zmiany praktycznie wszystkiego - dodanie dodatkowych
metod do klasy Array, czy zmiana sposobu drukowania liczb
całkowitych są niezmiernie proste.
Damian Danak
Język Ruby
Cechy języka Ruby cd.
Ruby posiada:






liczby całkowite o dowolnych rozmiarach
dodawanie metod do instancji klasy - możliwa jest
zmiana lub dodanie metody do instancji danej klasy
bloki i lambdy (closures) - wygodne przekazywanie
funkcji jako parametrów
iteratory
przeciążanie operatorów (ang. operator overloading)
obsługa wyjątków (ang. exception handling)
Damian Danak
Wydajność języka Ruby
Test aplikacji Acunote
Czas żadania [s]
Poprawa
Wersja Interpretera
1.8.6
JRuby 1.2.0
1.9.1
JRuby
1.9.1
Operacje data/czas
1.23
0.58
0.53
2.1x
2.3x
Intensywny rendering
0.61
0.44
0.30
1.4x
2.0x
Intensywne obliczenia
2.57
1.79
1.33
1.4x
1.9x
Operacje na bazie danych
5.58
4.63
3.29
1.2x
1.7x
Damian Danak
Wydajność języka Ruby
Damian Danak
Dostępne narzędzia
Edytory
 IDE

Damian Danak
Podsumowanie






Ruby jako nowy język programowania czerpie z innych
języków to co najlepsze i łączy te wybrane cechy w jedną
całość
Język Ruby daje programiście niespotykaną dotąd swobodę
jeśli chodzi tworzenie oraz modyfikację kodu
W języku Ruby powstało wiele nowoczesnych aplikacji,
służących zarówno do celów naukowych (symulacje w
ośrodku NASA), jak również aplikacji internetowych o
zasięgu światowym (twitter.com)
Ruby on Rails łączy wiele koncepcji, które współgrają ze
sobą, tworząc nowoczesne środowisko do tworzenia
aplikacji zorientowanych na potrzeby współczesnego
Internetu
Poznanie reguł związanych z programowaniem w Rails
pozwala na wydajne tworzenie spójnych i nowoczesnych
aplikacji, łatwych w rozbudowie.
Środowisko Rails ułatwia pracę zespołową nad projektem
Damian Danak
Koniec
Damian Danak

Podobne dokumenty