1 Sieci Komputerowe Prezentacja na temat języka programowania Ruby Piotr Klejment Krzysztof Kornaszewski
2 Ruby - obiektowy język programowania Ruby to zorientowany obiektowo język programowania o otwartym kodzie źródłowym (open source). W języku angielskim „ruby” oznacza „rubin” i, zgodnie z nazwą, takie też jest logo tego języka programowania.
3 Ruby - obiektowy język programowania Ruby to w pełni obiektowy, dynamiczny język interpretowany (bardzo) wysokiego poziomu. Autorem języka Ruby jest japoński programista Yukihiro Matsumoto znany także pod pseudonimem „Matz”. Ruby raz pierwszy opublikowany został w Japonii w 1995 roku i zyskał międzynarodową sławę jako łatwy do opanowania język o wielu możliwościach. Yukihiro Matsumoto
4 Ruby - obiektowy język programowania Jednak przez długi czas Ruby pozostawało mało znane poza Japonią. Swój prawdziwy renesans zaczęło przeżywać z chwilą pojawienia się Ruby on Rails w 2003 roku. Podobnie jak w Perlu, programy napisane w Ruby są małe - ten sam program, który w C czy Javie zajmuje setki linijek, w Ruby czy Perlu zajmie zwykle kilkadziesiąt. W Ruby programy są często mniejsze niż analogiczne programy w Perlu, zachowując przy tym czytelność. Osiągnięte zostało to głównie dzięki wszechobecnej obiektowej składni.
5 Ruby - obiektowy język programowania Ruby bazuje na wielu językach, takich jak CLU [1], Eiffel [2], Lisp [3], Perl [4], Python [5] czy Smalltalk [6]. Składnia jest zorientowana liniowo i oparta na składni CLU oraz, w mniejszym stopniu, Perla, ale jądro Ruby'ego napisane jest w języku C i działa na wszystkich najważniejszych platformach. Jest to język raczej interpretowany niż kompilowany. [1] - pierwszy zaimplementowany język programowania wprowadzający abstrakcyjne typy danych i iteratory (stworzony w latach 1972-1975) [2] - statycznie typizowany, obiektowy język programowania z 1985 roku [3] - rodzina języków programowania z zaprojektowana przez Johna McCarthiego na MIT w 1958 roku [4] - interpretowany język programowania autorstwa Larry'ego Walla początkowo przeznaczony głównie do pracy z danymi tekstowymi [5] - interpretowany, interaktywny język programowania stworzony przez Guido van Rossuma w 1990 [6] - w pełni obiektowy, reflektywny(obiekty definiujące język same są też w nim opisane) język programowania z dynamicznym typowaniem z lat 70. i 80.
6 Ruby - właściwości Ruby to język o ogromnych możliwościach. Nic dziwnego, że Matz, twórca, opisał go jako: „Ruby jest prosty z wyglądu, ale bardzo skomplikowany w środku, tak jak ciało ludzkie” Cechy języka: ● automatyczne odśmiecanie pamięci ● iteratory ● przeciążanie operatorów (operator overloading) ● normalne i zaawansowane właściwości zorientowania obiektowego (klasa, metoda …) ● obsługa wyjątków (exception handling) ● wyrażenia regularne wbudowane w składnię ● liczby całkowite o dowolnych rozmiarach
7 Ruby - właściwości ● 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 ● „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. ● zmienne leksykalne modyfikowalne w czasie działania programu
8 Ruby - instalacja Język Ruby można zainstalować na każdej z najważniejszych platform. Jest bardzo przenośny - rozwijany głównie na platformie GNU/Linux, ale może być używany na wielu typach UNIXów, Mac OS X, Windows 95/98/Me/NT/2000/XP/Vista, DOS, BeOS, OS/2, itd. ● Dla systemów uniksowych Ruby'ego najlepiej instalować za pomocą udostępnianych managerów pakietów. W przypadku Debiana/Ubuntu będzie to: ● sudo apt-get install ruby ri rdoc irb
9 Ruby - instalacja ● Użytkownicy Ubuntu powinni dodatkowo doinstalować pakiety przydatne do późniejszej kompilacji gemów ● sudo apt-get install build-essential ruby1.9.2-dev ● Na platformie Windows istnieje kilka możliwości instalacji Ruby’ego. Pierwsza z nich to po prostu instalacja skompilowanych binariów. Kolejna z nich to użycie graficznego Ruby Installer.
10 Ruby - instalacja Wspomniane wcześniej gemy to skrócona nazwa programu zarządzającego pakietami języka Ruby - RubyGems. Pełni on rolę odpowiednika linuksowych narzędzi apt-get czy rpm. Umożliwia automatyczną aktualizację (wraz z kompilacją) wszelkich pakietów zależnych, niezbędnych do instalacji pakietu bieżącego. ● Dla systemu Windows RubyGems instalowane jest automatycznie razem z Ruby Installer
11 Ruby - uruchomienie Interaktywny Ruby (Interactive Ruby – IRB) ● Dla Linux’a, należy otworzyć konsolę i wpisać irb ● Dla Windows, należy otworzyć Interactive Ruby lub wybrać „Start Command Promt with Ruby” i wpisać irb. Interactive Ruby dla Windows
12 Ruby – pisanie programów
13 Ruby – podstawy składni ● Definiowanie metody ● def h puts "Hello World!" ● end ● Metoda przyjmująca parametr ● def h(name) puts "Hello #{name}!" ● end
14 Ruby – podstawy składni class Klasa def initialize(name = "Ruby") @name = name end def powitanie puts "Cześć #{@name}!" end def pożegnanie puts "#Żegnam {@name}!" end
15 Ruby – podstawy składni #!/usr/bin/env ruby class DuzyProgram attr_accessor :nazwa # Tworzymy obiekt def initialize(nazwa = "World") @nazwa = nazwa end # Metoda witająca def przywitaj_sie if @nazwa.nil? puts "..." elsif @nazwa.respond_to?("each") ----> # Iteracje i pętle @nazwa.each do |nazwa| puts "Witaj #{nazwa}!" end else puts "Hello #{@nazwa}!" end # Metoda na pożegnanie def pozegnaj_sie if @nazwa.nil? puts "..." elsif @nazwa.respond_to?("join") ---->
16 Ruby – podstawy składni # Rozdzielenie elemetów przecinkiem puts "Zegnajcie #{@nazwa.join(", ")}!" else puts "Zegnam #{@nazwa}!" end if __FILE__ == $0 obiekt = DuzyProgram.new obiekt.przywitaj_sie obiekt.pozegnaj_sie ----> # Zmień imię na "Ruby" obiekt.nazwa = "Ruby" obiekt.przywitaj_sie obiekt.pozegnaj_sie # Zmień imię na tablicę imion obiekt.nazwa = ["Adam", "Kwiatek", "Krzysiek", "Michal", "Jan",”Maciej”] obiekt.przywitaj_sie obiekt.pozegnaj_sie # Zmień imię na nil obiekt.nazwa = nil obiekt.przywitaj_sie obiekt.pozegnaj_sie end
17 Ruby – podstawy składni
18 Ruby on Rails - wstęp Język Ruby, mimo wielu zalet, pozostałby zapewne tylko ciekawostką dla niewielkiej garstki programistów, gdyby nie powstało Ruby on Rails. Ruby on Rails to potężne narzędzie, przeznaczone do tworzenia witryn WWW i aplikacji sieciowych. Przyspiesza ono i upraszcza proces programowania, wdrożenia oraz rozwijania aplikacji. Ruby on Rails w ciągu kilku lat wyrosło na poważnego konkurenta PHP, zdobywając coraz więcej zwolenników. Ponieważ Ruby on Rails napisane zostało w Ruby, język ten zdobył dużą popularność, osiągając 10. miejsce w rankingu TIOBE, określającym popularność poszczególnych języków programowania na świecie.
19 Ruby on Rails Ruby on Rails zostało stworzone przez duńskiego programistę Davida Heinemeiera Hanssona. Rails został napisany w języku Ruby z użyciem architektury MVC (Model-View-Controller) Yukihiro Matsumoto, twórca Ruby, określił Ruby on Rails jako najlepszą aplikację w Ruby, jaka kiedykolwiek powstała. David Heinemeier Hansson
20 Czym jest Ruby on Rails? Ruby on Rails (w skrócie RoR lub Rails) to framework do szybkiego tworzenia aplikacji webowych. Aby lepiej zrozumieć, czym jest RoR, trzeba najpierw wyjaśnić, co należy rozumieć przez pojęcie framework. Według Wikipedii framework to w programowaniu struktura wspoma- gająca tworzenie, rozwój i testowanie powstającej aplikacji. Logo Ruby on Rails
21 Czym jest Ruby on Rails? Framework to po prostu szkielet działania aplikacji, który zapewnia podstawowe mechanizmy, i może być wypełniany właściwą treścią programu. Zaczynając więc pracę z RoR, nie zaczynamy kompletnie od zera, ale od automatycznie wygenerowanego projektu, stanowiącego zalążek naszej aplikacji. Kluczową cechą Rails jest wysoka produktywność, a osiąga się ją, jak przekonuje twórca, dzięki temu, że proces tworzenia kodu w RoR sprawia dużą przyjemność.
22 Czym jest Ruby on Rails? Tym, co wyróżnia Ruby on Rails, są prostota i piękno. To one tak naprawdę decydują o tym, że w Rails pracuje się szybko i przyjemnie. Duża w tym zaleta języka Ruby, gdyż RoR korzysta intensywnie z jego możliwości w zakresie metaprogramowania [1]. Położenie przez Rails nacisku na metaprogramowanie jest jednym z powodów sukcesu, który przyczynił się do tak dużego zainteresowania językiem Ruby. [1] Metaprogramowanie to technika umożliwiająca programom tworzenie lub modyfikację kodu innych programów (lub ich samych). Program będący w stanie modyfikować lub generować kod innego programu nazywa się metaprogramem.
23 Ruby on Rails - instalacja ● Ruby on Rails do pracy wymaga zainstalowanej najnowszej wersji Ruby'ego ● Następnie pobieramy Ruby Gems, rozpakowujemy i instalujemy, najlepiej w domyślnej ścieżce C:\rubyC:\ruby ● Mając Ruby i Ruby Gems można zainstalować Rails otwierając linie poleceń i wpisując ● gem install rails –include-dependencies
24 Ruby on Rails - instalacja ● W tym momencie mamy już zainstalowany i działający framework Rails. Żeby sprawdzić jego działanie możemy utworzyć sobie folder do celów testowych, w wierszu poleceń przejść do niego i wywołać komendę: ● rails new nazwa_projektu ● następnie przejść do utworzonego katalogu i wpisać ● ruby script/server ● Teraz już możemy otworzyć przeglądarkę i wpisać adres http://localhost:3000/. Jeśli wszystko poszło dobrze powinniśmy zobaczyć stronę domową nowego projektu.
25 Ruby on Rails Domyślnie tworzony projekt zakłada, że będziemy wykorzystywać najnowszą wersję Rails w systemie (jeśli mamy ich kilka), a stosowaną bazą będzie SQLite. Jeśli chcemy to zmienić, to musimy skorzystać jawnie z przełącznika -d. We wcześniejszych wersjach Rails domyślnie wybierana była baza MySQL. Przykład stworzenia projektu pracującego z bazą PostgreSQL rails -d postgresql nazwa_projektu
26 Przydatne informacje ● www.ruby-lang.org/pl - główna strona języka Ruby ● rubyforge.org - najnowsza wersja Ruby'ego 1.9.3 oraz rubygems 1.8.24 ● www.rubyist.net/~matz - blog twórcy języka, po japońsku ● www.ruby-doc.org - strona z dokumentacją języka ● pl.wikibooks.org/wiki/Ruby – biblioteka wolnych podręczników ● rubyonrails.pl – strona Ruby on Rails ● artiko.net.pl/2009/03/28/instalacja-ruby-on-rails-w- srodowisku-windows - przewodnik instalacji Ruby on Rails w Windows ● apohllo.pl/guides/getting_started.html – przewodnik, jak stworzyć bloga w Ruby on Rails
27 Koniec prezentacji Dziękujemy za uwagę!