Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

23
{ Ruby on Rails - wprowadzenie KNSI, 27.02.2014r. Łukasz Szyndzielorz [email protected]

description

Ruby on rails. Krótkie wprowadzenie teoretyczne

Transcript of Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

Page 1: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

{

Ruby on Rails - wprowadzenie

KNSI, 27.02.2014r.Łukasz Szyndzielorz [email protected]

Page 2: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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?

Page 3: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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?

Page 4: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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

Page 5: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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

Page 6: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

MVC

Page 7: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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

Page 8: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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

Page 9: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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

Page 10: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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

Page 11: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz
Page 12: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

Świat: Twitter BaseCamp GitHub SlideShare YellowPages Shopify Groupon SpreePolskie 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?

Page 13: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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.

Page 14: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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.

Page 15: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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.

Page 16: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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.

Page 17: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

Ruby. W nim napisany RoR.

Page 18: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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:

Page 19: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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 doprint "Hello, world!„

end

„Hello, World! Hello, world! Hello world!”

Page 20: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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

Page 21: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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

Page 22: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

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.

Page 23: Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz

Koniec części teoretycznej.Dziękuję za uwagę.