Můj iPod   Digit   CLICK!   Grafika   Printing   Builder   WebTip   Digineff   Fotografování   Galerie   3D Scéna

Co jsou Ruby on Rails a proč by mě to mělo zajímat?


17.10.2006 | Šindelář Adam
Rubrika: Software
První díl seriálu o Ruby on Rails – Úvod a instalace.

Úvod a instalace Ruby on Rails

Statické vs. dynamické stránky

V dávných dobách dřevního období Webu byla naprostá většina internetových stránek statická – autor prezentace musel ručně vytvořit každý html dokument, který měl být na stránkách k dispozici. Chtěl-li pak nějakou část stránek upravit nebo, nedej bože, snad provést nějakou globální úpravu třeba paty stránky, musel ručně upravovat velké množství souborů. Jelikož a protože je účelem počítačové techniky lidem život usnadňovat, zrodil se záhy koncept dynamických webových stránek. Jedním z prvních průkopníků tohoto nového odvětví se stal jazyk PHP, který se od svého vzniku v roce 1994 stal jednou z nejpopulárnějších vývojových platforem vůbec.

Tvorba stránek v PHP – a ostatně i většině jiných jazyků – většinou sestává z kompletní implementace veškeré funkcionality stránek pomocí nepřehledné sady zabudovaných a uživatelských funkcí; když se do projektu pustí zkušený programátor, dostane se možná i na pár glorifikovaných prefixů k funkcím, kterým se v rámci PHP milosrdně říká objekty. Takový přístup je samozřejmě řádově pohodlnější, než psaní myriád statických html dokumentů, ale rozhodně by mohlo být i líp. A proto se během let objevila celá řada nejrůznějších frameworků, knihoven, sad nástrojů, forem na bábovky a toolkitů, jejichž existence byla povětšinou motivována potřebou zjednodušit si práci a snížit pravděpodobnost lidské chyby, a to i za cenu ztráty výpočetního výkonu (kterého má dnes každý webový server přebytek). Za všechny můžeme jmenovat třeba ve své době slibný, v Pythonu napsaný server CherryPy.

Na scénu vstupuje Ruby on Rails

Asi nejznámějším z těchto nástrojů jsou právě Ruby on Rails (dále jen RoR) – soubor několika užitečných webových knihoven napsaných v moderním, interpretovaném jazyce Ruby. RoR jsou kompletně objektové prostředí, vystaveně na softwarové architektuře, známé pod názvem Model-View-Controller, často zkracovaným na prosté MVC. Tato architektura dělí funkcionalitu aplikace mezi objekty typu Model, které poskytují abstrakci k databázi; typu Controller, které přijímají uživatelské požadavky a podle nich vydávají příkazy modelům a poskytují výstup pro uživatele; a nakonec objekty typu View, které ovládají formu, kterou se výstup controlleru prezentuje uživateli. V případě RoR jsou controllery, modely a views implementovány moduly ActionController, respektive ActiveRecord a ActionView.

Pro ilustraci posuďte tento příklad:
Karel, uživatel aplikace Adresář, založené na architektuře MVC, chce ze svého programu dostat kontaktní informace svého kamaráda Pepy. Prostředky, které mu poskytuje uživatelské rozhraní (objekt typu View), tedy aplikaci zadá požadavek na vydání informací o Pepovi. Tento požadavek je aplikací předán odpovídajícímu objektu typu Controller, který jej analyzuje a následně si od třídy mající na starosti hledaná data vyžádá instanci třídy (tedy objekt) příslušného modelu, reprezentující požadovaný záznam v databázi; tento záznam potom předá příslušnému objektu View a ukončí se – uživatelské rozhraní už se postará o zformátování a zobrazení získané informace. Pro pochopení výhod tohoto přístupu je třeba si uvědomit, že model nepotřebuje znát nic, o způsobu, jakým jsou jím poskytované informace zobrazovány ani o vnitřní logice aplikace, stejně jako view nepotřebuje znát způsob, jakým jsou aplikací ukládána data (databáze, soubory…) – každý typ objektu se zkrátka stará o své, což umožňuje velmi čistý návrh aplikace a rozdělení úkolů mezi jednotlivé programátory, podle oblasti jejich odbornosti (návrh databáze, uživatelské rozhraní nebo aplikační logika).

Pro nedočkavce, konkrétní implementace v Ruby on Rails by vypadala nějak takhle:

class PeopleController < ApplicationController
  def find
    @person = Person.find_by_name(params[:id])
    if(!@person)
      flash[:notice] = "Záznam #{params[:id]} nenalezen."
    end
  end
end

Jak Rails nainstalovat?

Instalace RoR na Mac OS X, stejně jako provoz a vývoj pro toto prostředí jsou jednoduchou záležitostí. Přímočarý postup, který si dnes popíšeme, nás přivede do příkazové řádky, ale netřeba se bát – potřebujeme vykonat jen několik základních úkonů. Prvním krokem na naší cestě za funkčním Rails prostředím je instalace nástroje port, který nám poskytne snadný přístup k nejrůznějším užitečným open source programům. Nejdříve si stáhněte instalátor z této adresy. Instalace by měla proběhnout automaticky. Nyní už jen otevřete Terminal (v /Applications/Utilities) a postupně spusťte tyto příkazy:

Updatuje program port na nejnovější verzi:

sudo port selfupdate
Synchronizuje lokální seznam dostupných balíčků se seznamem na serveru:
sudo port sync
Nainstaluje aktuální verze databáze SQLite, interpreteru Ruby a systému rubygems:
sudo port install sqlite3 rb-sqlite3 ruby rb-rubygems
Nainstaluje Ruby on Rails samotné:
sudo gem install rails

Buďte trpěliví, během instalace se řada věcí kompiluje a, v závislosti na rychlosti vašeho stroje, může celý proces nějakou dobu trvat (většinou ne déle než 10 minut).

Nyní, když jsme nainstalovali vše potřebné, můžeme přistoupit k vytvoření prvního projektu na Rails. Vraťte se zpět do Terminálu a spusťe příkaz:

cd ~/Sites/
Následně:
rails muj_projekt
A na závěr
cd muj_projekt; scripts/server

Nyní máme běžící instanci vývojářského serveru WebBrick, sedící na lokální adrese http://0.0.0.0:3000/. Zkuste si tuto adresu otevřít ve svém prohlížeči – pokud se dosud vše dělo správně, měla by se objevit uvítací obrazovka RoR.

Běžící server můžete prozatím ukončit jednoduše zavřením terminálového okna. Příště si povíme o konfiguraci RoR aplikace a serveru, vysvětlíme si základy jazyka Ruby a vytvoříme první web na Rails.

Autor článku: Šindelář Adam

Adam Šindelář


Mac OS X Shell krok za krokem

Máte v malíčku prostředí Mac OS X? Již vás omrzelo používat grafické rozhraní a chcete mít svůj počítač plně pod kontrolou. Pak právě vám je určena kniha Mac OS X Shell krok za krokem.

Unixové podhoubí Mac OS X nabízí řadu možností rychlejší práce a především kompletního poznání tohoto operačního systému. Kniha samotná vás seznámí s problematikou příkazové řádky, kde uživatel najde aplikaci Terminal a jak s ní začít pracovat. V dalších bodech se čtenář naučí pracovat se soubory, prohledávat disk, pracovat s textem v četně seznámení s tzv. regulárními výrazy. Nejenom zájemcům o unix přijde vhod kapitola věnovaná přístupovým právům. Autor knihy Ondřej Čada neopomněl ani na bližší informace o spolupráci s GUI - tedy například simulace poklepání na zvolený objekt ve Finderu, a na závěr čtenáře seznámí se skriptování, neboli jak si v příkazové řádce vytvořit vlastní jednoduché programy.

Kniha Mac OS X Shell krok za krokem je určena doslova pro každého. Žádné předběžné znalosti nejsou nutné: kdykoli se autor zabývá čímkoli, co vyžaduje určité zkušenosti, vysvětluje vše potřebné hned na místě. Cena knihy činí 320,- Kč a má 229 stran.

Více informací a objednání knihy

  Aktuální hodnocení článku: jabkojabkojabkojabko (Počet známek: 1090)
  Jak hodnotíte tento článek vy:  Super/ Velmi dobré/ Dobré/ Podprůměrné/ Propadák
  Způsob hodnocení: 5 - maximální spokojenost, 1 - propadák


 Komentáře čtenářů k článku
Patrik Jíra22.05.20:03diskusni fórum
Tee06.11.12:49CHYBA V INSTALLACNOM POSTUPE
Zdeněk Bohdancký31.10.16:05Locomotive
Danielsan19.10.15:21Ve sve dobe slibny CherryPy...?
so11.08.13:22RE: Ve sve dobe slibny CherryPy...?
Valda17.10.9:40Chyba v instalacnim postupu
Valda17.10.9:45RE: Chyba v instalacnim postupu
Adam Šindelář17.10.11:23RE: RE: Chyba v instalacnim postupu
OC17.10.0:31Ehm...
Petr Hrncir17.10.4:23RE: Ehm...
jf17.10.6:20RE: RE: Ehm...
d.f.h17.10.10:29RE: RE: RE: Ehm...
maja18.10.20:44RE: RE: Ehm...
Valda17.10.9:13RE: Ehm...
JJ17.10.15:31RE: RE: Ehm...
Botanicus27.09.19:37RE: RE: RE: Ehm...
Adam Šindelář17.10.11:28RE: Ehm...
JJ17.10.15:34RE: RE: Ehm...
Adam Šindelář17.10.18:46RE: RE: RE: Ehm...
OC18.10.23:36RE: RE: RE: RE: Ehm...
Adam Šindelář19.10.12:51RE: RE: RE: RE: RE: Ehm...
maja19.10.19:21RE: RE: RE: RE: RE: RE: Ehm...
  

Relevantní články:





Vyhledávání na MůjMac.cz

Google
 Hledat na internetu MůjMac.cz











Seriály


MujMac.cz:Redakce - Inzerce - Webmaster
Copyright © 1998-2006 Grafika Publishing s.r.o. Všechna práva vyhrazena.
RSSRSS (utf-8)HP ProliantHP