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
Ruby on Rails Kto korzysta z Rails www.twitter.com
Ruby on Rails Kto korzysta z Rails http://basecamphq.com
Ruby on Rails Kto korzysta z Rails http://www.shopify.com
Ruby on Rails Kto korzysta z Rails http://github.com
Ruby on Rails Kto korzysta z Rails http://www.blip.pl
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
Ruby on Rails Architektura aplicacji Rails Na framework Rails składają się głównie elementy: ActiveRecord mechanizm ORM (Object- Relational 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
Ruby on Rails Architektura aplicacji Rails
Ruby on Rails Architektura aplikacji Rails 1 Kontroler 6 Widok 5 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ć.
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.
Język Ruby Język Ruby na tle innych języków programowania Język programowania Pozycja Wrzesień 2010 Pozycja Wrzesień 2005 Pozycja Wrzesień 1995 Pozycja Wrzesień 1985 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
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.
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)
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
Wydajność języka Ruby
Dostępne narzędzia Edytory IDE
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
Koniec