Pokročilé vlastnosti skiptovacích jazykov: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
d (Zamyká „Pokročilé vlastnosti skiptovacích jazykov“ ([edit=sysop] (na neurčito) [move=sysop] (na neurčito)))
 
(29 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených)
Riadok 2: Riadok 2:
 
[[Kategória:Informatika]]
 
[[Kategória:Informatika]]
 
[[Kategória:Skriptovacie jazyky]]
 
[[Kategória:Skriptovacie jazyky]]
 +
<H1_CSS chapter="1" />
 +
<H1_CSS chapter="1" prefix="Kapitola" />
 +
{{Hlavička_FM|{{PAGENAME}}|Ivana Zuzinová|Ing. Juraj Ďuďák|
 +
2008/2009
 +
|Bakalárska práca
 +
|Mechatronika
 +
}}
 +
<div class="sideBox">
 +
{| class="" border=0 cellpadding=5
 +
|+ Obsah práce
 +
|-
 +
| 1.
 +
| [[Pokročilé vlastnosti skiptovacích jazykov| Úvod do Ruby on Rails]]
 +
|-
 +
| 2.
 +
| [[Jazyk Ruby]]
 +
|-
 +
| 3.
 +
| [[Porovnanie Ruby a PHP]]
 +
|-
 +
| 4
 +
| [[Framework Ruby on Rails]]
 +
|-
 +
| 5
 +
| [[Praktická aplikácia využívajúca framework Rails]]
 +
|}
 +
</div>
 +
{{abstrakt
 +
|Popis  jazyka Ruby a porovnanie syntaxe Ruby s jazykom PHP. Charakterizácia frameworku Ruby on Rails a jeho základné moduly pre prácu s databázami.  Teoretický popis vytvárania relácií v Rails. Praktická ukážka pomocou zobrazenia rozvrhu podľa zvolených požiadaviek a ukážkový benchmark porovnávajúci  Rails a PHP. Informácie o iných porovnávacích benchmarkoch.
 +
|Description of  Ruby language and comparision Ruby syntax with syntax of PHP language. Characterization of Ruby on Rails framework and it’s embedded modules working with databases. Theory of creating relations in Rails. Practical use in application showing timetable in dependence on taken conditions. Benchmark Rails vs. PHP and informations about other benchmarks.
 +
}}
 +
'''Úvod'''
  
{{Hlavička_FM|{{PAGENAME}}|Ivana Zuzinová|Ing. Juraj Ďuďák|2008/2009}}
+
Informačné technológie zaznamenávajú už od svojho vzniku rýchlo sa meniaci, dynamický rozvoj vo všetkých smeroch, vrátane algoritmizácie a programovacích jazykov, ktorých neustály vývoj súvisí aj s rozmachom internetu, jeho rozširujúcej sa dostupnosti a stále sa zvyšujúcimi požiadavkami na webdeveloperov.
 +
Aj z týchto príčin hľadajú programátori nové možnosti, ako čo najefektívnejšie programovať aplikácie, č sa dostávajú do pozornosti aj menej známe programovacie jazyky. Určitú pozornosť si získavajú aj frameworky, ktoré sa snažia poskytnúť prehľadnejší kód, skracujúci proces tvorby aplikácií. Populárnejším sa stáva aj framework Ruby on Rails, o ktorom je ale v slovenskom jazyku veľmi málo publikácií. Preto je teoretická časť zameraná na popis jazyka Ruby a frameworku Ruby on Rails, kde podrobnejšie opisujeme prácu Rails s databázami pomocou jeho modulov. V práci sú zahrnuté tiež teoretické informácie o tvorbe relácií medzi tabuľkami, ktoré sa následne využili v praktickej časti.
 +
Praktická časť má za úlohu prezentovať nadobudnuté informácie o jazyku Ruby a frameworku Rails. Úlohou bolo vytvoriť schému databázových tabuliek školského rozvrhu, ktorá má byť predlohou pre aplikáciu s názvom Rozvrh on Rails. Táto aplikácia má generovať výpis záznamov rozvrhu, zodpovedajúcich zadaným podmienkam vyhľadávania. Poslednou časťou je vytvorenie porovnávacieho testu, kde sa má skúmať rýchlosť vykonania požiadavky aplikáciou
 +
vytvorenou v jazyku PHP a vo frameworku Rails.
 +
=Úvod do Ruby on Rails=
 +
==Pojem Ruby on Rails==
 +
Ruby on Rails je open-source framework na vytváranie webových aplikácií v jazyku Ruby. Napriek tomu, že Ruby on Rails bol oficiálne spustený len pred nedávnom v roku 2004, odvtedy zaznamenal tento framework obrovský ohlas.  Ruby on Rails, Rails alebo v skratke RoR sa stal z neznámej „hračky“ svetovým fenoménom rekordnou rýchlosťou. Získal mnohé ocenenia,a čo je ešte dôležitejšie, stal sa vhodnou voľbou pre implementáciu širokého okruhu takzvaných Web 2.0 aplikácií.
 +
 
 +
Dôvodov, prečo je tomu tak, je viacero. V prvom rade tu bolo mnoho vývojárov, ktorí už boli unavení a znechutení z technológií a postupov, ktoré používali pri tvorbe webových aplikácií. Nezáleží na tom, či išlo o Javu, PHP alebo .NET – častokrát mali pocit, že veľká množina ich práce je jednoducho strata času. A zrazu prišiel Rails a ponúkol jednoduchosť a efektivitu.  
  
'''Abstrakt'''<br/>
+
Rails aplikácie sú písané v Ruby – modernom objektovo-orientovanom skriptovacom jazyku. Ruby je stručný, ale nie nečitateľne strohý, myšlienky sa v ňom dajú vyjadriť prirodzene a jasne. Toto je hlavným dôvodom jednoduchosti písania programov v Ruby, a (čo je nemenej dôležité) programy sú jednoducho čitateľné aj mnoho mesiacov neskôr.
Popis  jazyka Ruby a porovnanie syntaxe Ruby s jazykom PHP. Charakterizácia frameworku Ruby on Rails a jeho základné moduly pre prácu s databázami. Teoretický popis vytvárania relácií v Rails. Praktická ukážka pomocou zobrazenia rozvrhu podľa zvolených požiadaviek a ukážkový benchmark porovnávajúci Rails a PHP. Informácie o iných porovnávacích benchmarkoch.
 
  
=Úvod=
+
==Čo je framework==
Informačné technológie zaznamenávajú už od svojho vzniku rýchlo sa meniaci, dynamický rozvoj vo všetkých smeroch, vrátane algoritmizácie a programovacích jazykov, ktorých neustály vývoj súvisí aj s rozmachom internetu, jeho rozširujúcej sa dostupnosti a stále sa zvyšujúcimi požiadavkami na webdeveloperov.  
+
 
Aj z týchto príčin hľadajú programátori nové možnosti, ako čo najefektívnejšie programovať aplikácie, č sa dostávajú do pozornosti aj menej známe programovacie jazyky. Určitú pozornosť si získavajú aj frameworky, ktoré sa snažia poskytnúť prehľadnejší kód, skracujúci proces tvorby aplikácií. Populárnejším sa stáva aj framework Ruby on Rails, o ktorom je ale v slovenskom jazyku veľmi málo publikácií. Preto je teoretická časť zameraná na popis jazyka Ruby a frameworku Ruby on Rails, kde podrobnejšie opisujeme prácu Rails s databázami pomocou jeho modulov. V práci sú zahrnuté tiež teoretické informácie o tvorbe relácií medzi tabuľkami, ktoré sa následne využili v praktickej časti.
+
Framework vo všeobecnosti je prostredie, v ktorom je organizovaná určitá ďalšia aplikácia.  Je to súbor knižníc a kódu usporiadaných tak, aby pokrývali čo najviac funkčných požiadaviek spoločných pre rôzne aplikácie. Pri webových aplikáciách to môžu byť napríklad validácia vstupov, prístup k databázi, cachovanie údajov, správa užívateľských práv. Framework má za úlohu ušetriť programátorovi čas tak, aby sa pri vývoji venoval len špecifickým požiadavkám pre aplikáciu, ktorú práve vyvíja, a ktorú nejde zovšeobecniť.
Praktická časť má za úlohu prezentovať nadobudnuté informácie o jazyku Ruby a frameworku Rails. Úlohou bolo vytvoriť schému databázových tabuliek školského rozvrhu, ktorá má byť predlohou pre aplikáciu s názvom Rozvrh on Rails. Táto aplikácia má generovať výpis záznamov rozvrhu, zodpovedajúcich zadaným podmienkam vyhľadávania. Poslednou časťou je vytvorenie porovnávacieho testu, kde sa má skúmať rýchlosť vykonania požiadavky aplikáciou vytvorenou v jazyku PHP a vo frameworku Rails.
+
V súčasnosti sa často využívajú MVC Frameworky. MVC architektúra oddeľuje dáta aplikácie (model), spôsob zobrazenia (view) a spôsob nakladania s modelom (controller). Tieto tri dôležité časti každej aplikácie sú oddelené do samostatných knižníc tak, aby zmena v jednej neovplyvnila ostatné.
 +
 
 +
Existuje množstvo frameworkov pre rôzne jazyky, pričom medzi najznámejšie patria:
 +
<properties>
 +
Ruby = Ruby on Rails, Merb, Nitro, Himle...
 +
PHP = vyše 40 frameworkov: CakePHP, Zend Framework, ThinkPHP, Symfony...
 +
Java =  Apache Cocoon, Ext GWT, Flexive, Hamlets, ItsNat, JavaServer Faces...
 +
Perl = Catalyst, Interchange, Maypole, Mason, Squatting, WebGUI
 +
Python = CherryPy, DjangoNevow, Pylons, Spyce, TurboGears, Web2py, Zope
 +
</properties>
 +
 
 +
==Filozofia Ruby on Rails==
 +
 
 +
Otázkou ostáva, prečo je Ruby on Rails tak píťažlivé pre programátorov, keď podobný spôsob tvorby webových aplikácií je prezentovaný aj inými frameworkami postavenými na iných jazykoch. Dôvodom je základná filozofia Ruby on Rails, ktorá je alfou a omegou tohto frameworku a spája všetko do harmonického celku. Táto filozofia je zhrnutá do hlavných myšlienok a to:
 +
 
 +
''DRY (Don’t Repeat Yourself)'' – Neopakuj sa
 +
 
 +
''Convetion over configuration'' – Konvencia nad konfiguráciou
 +
 
 +
'''DRY (Don’t Repeat Yourself)''' – Neopakuj sa – Každá duplikácia kódu v programe predlžuje čas strávený programovaním a okrem toho spôsobuje mnoho komplikácií – pri následných úpravách vzniká neprehľadnosť a zvyšuje sa riziko výskytu chýb v kóde. Preto by mal byť každý kód na jedinom mieste. Rails využíva Ruby aby túto myšlienku aplikoval v praxi, preto je duplikácia kódu minimálna.
 +
 
 +
'''Convention over Configuration''' – Konvencia nad konfiguráciou – Ide o jednu z rozhodujúcich čŕt Ruby on Rails. Hlavným zámerom je, aby programátor nemusel zakaždým písať pre novú aplikáciu ten istý kód, ktorý je konvenčne rovnaký pre drvivú väčšinu aplikácií. Nasledovaním konvencií tak môže pomocou pár príkazov  jednoducho vytvoriť základnú kostru aplikácie, ktorú potom nakonfiguruje podľa svojich potrieb.

Aktuálna revízia z 21:52, 20. január 2010


Tnu wiki.png
Trenčianska Univerzita Alexandra Dubčeka v Trenčíne
Fakulta Mechatroniky
Fm wiki.png
Pokročilé vlastnosti skiptovacích jazykov

Bakalárska práca


Autor:
Pedagogický vedúci: Ing. Juraj Ďuďák
Študijný odbor: Mechatronika

Akademický rok

2008/2009

Abstrakt

Popis jazyka Ruby a porovnanie syntaxe Ruby s jazykom PHP. Charakterizácia frameworku Ruby on Rails a jeho základné moduly pre prácu s databázami. Teoretický popis vytvárania relácií v Rails. Praktická ukážka pomocou zobrazenia rozvrhu podľa zvolených požiadaviek a ukážkový benchmark porovnávajúci Rails a PHP. Informácie o iných porovnávacích benchmarkoch.

Abstract

Description of Ruby language and comparision Ruby syntax with syntax of PHP language. Characterization of Ruby on Rails framework and it’s embedded modules working with databases. Theory of creating relations in Rails. Practical use in application showing timetable in dependence on taken conditions. Benchmark Rails vs. PHP and informations about other benchmarks.

Úvod

Informačné technológie zaznamenávajú už od svojho vzniku rýchlo sa meniaci, dynamický rozvoj vo všetkých smeroch, vrátane algoritmizácie a programovacích jazykov, ktorých neustály vývoj súvisí aj s rozmachom internetu, jeho rozširujúcej sa dostupnosti a stále sa zvyšujúcimi požiadavkami na webdeveloperov. Aj z týchto príčin hľadajú programátori nové možnosti, ako čo najefektívnejšie programovať aplikácie, č sa dostávajú do pozornosti aj menej známe programovacie jazyky. Určitú pozornosť si získavajú aj frameworky, ktoré sa snažia poskytnúť prehľadnejší kód, skracujúci proces tvorby aplikácií. Populárnejším sa stáva aj framework Ruby on Rails, o ktorom je ale v slovenskom jazyku veľmi málo publikácií. Preto je teoretická časť zameraná na popis jazyka Ruby a frameworku Ruby on Rails, kde podrobnejšie opisujeme prácu Rails s databázami pomocou jeho modulov. V práci sú zahrnuté tiež teoretické informácie o tvorbe relácií medzi tabuľkami, ktoré sa následne využili v praktickej časti. Praktická časť má za úlohu prezentovať nadobudnuté informácie o jazyku Ruby a frameworku Rails. Úlohou bolo vytvoriť schému databázových tabuliek školského rozvrhu, ktorá má byť predlohou pre aplikáciu s názvom Rozvrh on Rails. Táto aplikácia má generovať výpis záznamov rozvrhu, zodpovedajúcich zadaným podmienkam vyhľadávania. Poslednou časťou je vytvorenie porovnávacieho testu, kde sa má skúmať rýchlosť vykonania požiadavky aplikáciou vytvorenou v jazyku PHP a vo frameworku Rails.

Úvod do Ruby on Rails

Pojem Ruby on Rails

Ruby on Rails je open-source framework na vytváranie webových aplikácií v jazyku Ruby. Napriek tomu, že Ruby on Rails bol oficiálne spustený len pred nedávnom v roku 2004, odvtedy zaznamenal tento framework obrovský ohlas. Ruby on Rails, Rails alebo v skratke RoR sa stal z neznámej „hračky“ svetovým fenoménom rekordnou rýchlosťou. Získal mnohé ocenenia,a čo je ešte dôležitejšie, stal sa vhodnou voľbou pre implementáciu širokého okruhu takzvaných Web 2.0 aplikácií.

Dôvodov, prečo je tomu tak, je viacero. V prvom rade tu bolo mnoho vývojárov, ktorí už boli unavení a znechutení z technológií a postupov, ktoré používali pri tvorbe webových aplikácií. Nezáleží na tom, či išlo o Javu, PHP alebo .NET – častokrát mali pocit, že veľká množina ich práce je jednoducho strata času. A zrazu prišiel Rails a ponúkol jednoduchosť a efektivitu.

Rails aplikácie sú písané v Ruby – modernom objektovo-orientovanom skriptovacom jazyku. Ruby je stručný, ale nie nečitateľne strohý, myšlienky sa v ňom dajú vyjadriť prirodzene a jasne. Toto je hlavným dôvodom jednoduchosti písania programov v Ruby, a (čo je nemenej dôležité) programy sú jednoducho čitateľné aj mnoho mesiacov neskôr.

Čo je framework

Framework vo všeobecnosti je prostredie, v ktorom je organizovaná určitá ďalšia aplikácia. Je to súbor knižníc a kódu usporiadaných tak, aby pokrývali čo najviac funkčných požiadaviek spoločných pre rôzne aplikácie. Pri webových aplikáciách to môžu byť napríklad validácia vstupov, prístup k databázi, cachovanie údajov, správa užívateľských práv. Framework má za úlohu ušetriť programátorovi čas tak, aby sa pri vývoji venoval len špecifickým požiadavkám pre aplikáciu, ktorú práve vyvíja, a ktorú nejde zovšeobecniť. V súčasnosti sa často využívajú MVC Frameworky. MVC architektúra oddeľuje dáta aplikácie (model), spôsob zobrazenia (view) a spôsob nakladania s modelom (controller). Tieto tri dôležité časti každej aplikácie sú oddelené do samostatných knižníc tak, aby zmena v jednej neovplyvnila ostatné.

Existuje množstvo frameworkov pre rôzne jazyky, pričom medzi najznámejšie patria:

Ruby

Ruby on Rails, Merb, Nitro, Himle...

PHP

vyše 40 frameworkov: CakePHP, Zend Framework, ThinkPHP, Symfony...

Java

Apache Cocoon, Ext GWT, Flexive, Hamlets, ItsNat, JavaServer Faces...

Perl

Catalyst, Interchange, Maypole, Mason, Squatting, WebGUI

Python

CherryPy, DjangoNevow, Pylons, Spyce, TurboGears, Web2py, Zope


Filozofia Ruby on Rails

Otázkou ostáva, prečo je Ruby on Rails tak píťažlivé pre programátorov, keď podobný spôsob tvorby webových aplikácií je prezentovaný aj inými frameworkami postavenými na iných jazykoch. Dôvodom je základná filozofia Ruby on Rails, ktorá je alfou a omegou tohto frameworku a spája všetko do harmonického celku. Táto filozofia je zhrnutá do hlavných myšlienok a to:

DRY (Don’t Repeat Yourself) – Neopakuj sa

Convetion over configuration – Konvencia nad konfiguráciou

DRY (Don’t Repeat Yourself) – Neopakuj sa – Každá duplikácia kódu v programe predlžuje čas strávený programovaním a okrem toho spôsobuje mnoho komplikácií – pri následných úpravách vzniká neprehľadnosť a zvyšuje sa riziko výskytu chýb v kóde. Preto by mal byť každý kód na jedinom mieste. Rails využíva Ruby aby túto myšlienku aplikoval v praxi, preto je duplikácia kódu minimálna.

Convention over Configuration – Konvencia nad konfiguráciou – Ide o jednu z rozhodujúcich čŕt Ruby on Rails. Hlavným zámerom je, aby programátor nemusel zakaždým písať pre novú aplikáciu ten istý kód, ktorý je konvenčne rovnaký pre drvivú väčšinu aplikácií. Nasledovaním konvencií tak môže pomocou pár príkazov jednoducho vytvoriť základnú kostru aplikácie, ktorú potom nakonfiguruje podľa svojich potrieb.