NetHq Blog


A rossz legjobb kritikája az, ha megmutatjuk, hogyan kell jobban csinálni.

Ruby on Rails alapok - A telepítés

Nightvis, 2014.02.09 11:07
A Ruby egy teljesen objektum-orientált interpretált nyelv. Hivatalosan platform független, viszont egy interpreter kell hozzá. Érdemes megjegyezni hogy, a Ruby a windows alapú rendszereken kevésbé kényelmes és gördülékeny. Fogalmazzunk úgy hogy, aki a Ruby és a Ruby on Rails fejlesztésre adja fejét, az ismerkedjen meg valamilyen Linux disztribúcióval is.
1. Mi is a Ruby és a Ruby on Rails

A Ruby egy teljesen objektum-orientált interpretált nyelv. Hivatalosan platform független, viszont egy interpreter kell hozzá. Érdemes megjegyezni hogy, a Ruby a windows alapú rendszereken kevésbé kényelmes és gördülékeny. Fogalmazzunk úgy hogy, aki a Ruby és a Ruby on Rails fejlesztésre adja fejét, az ismerkedjen meg valamilyen Linux disztribúcióval is.

A Ruby-t 1995-ben Macumoto Jukihiro-nak köszönhetően jött létre. A Ruby on Rails egy a Ruby nyelven írt keretrendszer, amit 2003-ban David Heinemeier Hansson alkotott meg. 

Fontos még megemlíteni a Ruby és a Ruby on Rails alapelveit. Minél kevesebbet gépeljünk és ne ismételjünk, hagyatkozzunk az egységes elnevezésekre, alapértelmezésekre hosszú konfigurációs állományok írása helyett. Itt szintén ki kell emelni egy szerintem fontos gondolatot. Maga a Ruby nyelv kifejezetten nagy szabadságot ad a kód írásában. Így a legtöbb esetben lehetőség van zárójelek használatára és azok elhagyására egyaránt. Ez csak egy kiragadott példa, de miért is fontos ez? Mindenképpen célszerű és ajánlott egy bizonyos konvenció követése. Természetesen lehet szabályok nélkül is fejleszteni, de a későbbiekben ez nem csak a hibakeresést könnyíti meg, hanem magát a kód átláthatóságán is javít. 

2. A Ruby on Rails szerkezete

Mint fentebb már írtam, a keretrendszerünk teljesen objektum-orientált. Ez azt jelenti hogy, Objektumokkal és metódusokkal fogunk dolgozni. Az objektumok legfőbb előnyei között az öröklődés szerepel. Mivel a Ruby on Rails alapjaiban objektumokkal dolgozik, lehetőségünk van szépen elkerülni a felesleges kód ismétlést. 

Másik fontos szerkezeti elem az MVC minta, ami nem mást jelent mint Model - View - Controller. A model az adatstruktúrát jelenti mint úgy általában, a view a nézetet,megjelenítési elemeket és a controller pedig a vezérlőt, ami összeköti ezeket egy egységé, és szépen irányítja őket.

Van a kliensünk, aki/ami valamilyen kérést küld a szerverünknek. Ezt a controller kapja meg a routeren keresztül, ezután a controller, szépen bekéri az adatokat a modeltől ami a adott esetben egy adatbázissal kommunikál, majd pedig a controller átadja ezeket a viewnak és a view pedig elkészíti a kérésre feldolgozásának megjelenítését. Így szépen mindent szét tudunk bontani a megfelelő helyre és nem fognak összekeveredni a kódok, és jobb esetben átlátható marad. Meg kell említeni hogy, ez csak egy kiemelt példa és erősen sarkított is, de az mvc minta alapelvét nem bonyolítanám a valóság összetettségével. 

3. A Ruby on Rails és az RVM

Kifejezetten Linux alá készült a Ruby Version Manager nevezetű csomag. Ezzel a kis programmal könnyen kezelhetünk különböző Ruby és Rails verziókat és a Railshez tartozó gem-eket. A gemekről egy kicsivel később.

Telepítsük tehát az rvm-et. Nyissunk egy linux terminált és másoljuk be az alábbi sort. *

curl -L https://get.rvm.io | bash -s stable --ruby

Várjuk meg amíg a letöltés befejeződik, ez eltarthat pár percig. Ha a folyamat befejeződőtt, akkor ideje telepítenünk egy Ruby verziót az rvm-be. **

rvm install {RUBY_VERSION}
pl.: rvm install 2.1.0

Ezek után érdemes létrehozni egy gemset-et. A gemekről később fogunk részletesen beszélni, jelenleg elég annyit tudni hogy, a gem-ek a Ruby és a Ruby on Rails kiegészítői, amiket külön lehet telepíteni. Maga a Ruby on Rails alapjaiban véve is tartalmaz jópár gemet. Hozzuk tehát létre a gemset-et.

rvm gemset create {GEMSET_NAME}
pl.: rvm gemset create first

A létrehozott gemset fogja tárolni a gemek adatait. De miért is jó ez nekünk? Tegyük fel hogy, van két alkalmazásunk. Az egyik alkalmazás neve legyen mondjuk first_app, a második alkalmazás neve pedig second_app. Tegyük fel azt is hogy, a first_app alkalmazást jóval régebben készítettük és erősen függ a Rails 1.9.3-as verziójához, valamint jó pár egyedi gemhez. Az rvm és a gemset megoldja ezen problémát. Telepítünk egy 1.9.3-as Ruby-t és az alkalmazáshoz egy gemsetet. Így sikeresen bezártuk ezt a fejlesztői környeztet, a többi alkalmazás nem lesz hatással rá, ha ugyan így járunk el.

Indítsuk el az adott fejlesztői környezetet. Összegezve tehát. Telepítettünk egy 2.1.0 -ás verziószámú Ruby-t, valamint a hozzá tartozó Ruby on Rails keretet. Ez jelen pillanatban a 4.X-es verzió. Létrehoztunk egy first nevezetű gemsetet, ami most az első saját készítésű gemsetünk. Szóval aktiváljuk ezt a környezetet.

rvm use {RUBY_VERSION}@{GEMSET_NAME}
pl.: rvm use 2.1.0@first

Ha mindent jól csináltunk akkor elkészült az első Ruby on Rails fejlesztői környezetünk, amiben majd a továbbiakban dolgozhatunk. A következő cikk témája a gem-ek lesznek, illetve egy alap alkalmazás létrehozása.

Függelék

* rvm telepítéséhez szükséges a curl csomag. Telepítése roppant egyszerű: sudo apt-get install curl -y
** az rvm futtatása a bash héjon keresztül történik. Példa belépés a bash-be: /bin/bash --login

Tartalom közösségi megosztása: