Off-line funkcionalita on-line web aplikácií: Rozdiel medzi revíziami
Riadok 60: | Riadok 60: | ||
==Model-View-Controller (MVC)== | ==Model-View-Controller (MVC)== | ||
+ | Model-view-controller je architektonický vzor využívaný pri tvorbe aplikácií, ktorý oddeľuje dátový model, užívateľské rozhranie a riadiacu logiku. Vytváranie aplikácie s využitím architektúry MVC vyžaduje tri komponenty: | ||
+ | |||
===Model=== | ===Model=== | ||
+ | Model je funkčným a dátovým základom celej aplikácie. Poskytuje prostriedky pre prístup k dátovej základni, stavom aplikácie, ukladaniu a aktualizácií. | ||
===View=== | ===View=== | ||
+ | Model je funkčným a dátovým základom celej aplikácie. Poskytuje prostriedky pre prístup k dátovej základni, stavom aplikácie, ukladaniu a aktualizácií. | ||
===Controller=== | ===Controller=== | ||
+ | Controller definuje správanie aplikácie. Spracováva všetky vstupy a udalosti z užívateľského rozhrania. Na ich základe volá príslušné procesy Modelu, mení stav a pod. Podľa udalostí prijatých od užívateľa a podľa výsledkov akcií Modelu potom Controller vhodné View pre ďalšie zobrazenie. | ||
===Výhody vzoru MVC=== | ===Výhody vzoru MVC=== | ||
+ | - Jednoduché sprístupnenie pre rôzne druhy klientov. Pre zavedenie podpory ďalšieho klienta stačí nadefinovať len nové View. | ||
+ | - Minimalizácia duplicity zdrojového kódu. | ||
+ | - Rozdelenie vývojárskych úloh a samostatný vývoj jednotlivých častí. | ||
+ | - Znovu použiteľnosť kódu. | ||
+ | - Vysoká komplexnosť návrhu a jednoduchšia rozšíriteľnosť aplikácie. | ||
+ | |||
==Optimálna štruktúra aplikácie s podporou režimu off-line== | ==Optimálna štruktúra aplikácie s podporou režimu off-line== | ||
==Funkcie dostupné v režime off-line== | ==Funkcie dostupné v režime off-line== |
Verzia zo dňa a času 15:43, 18. január 2010
![]() |
Trenčianska Univerzita Alexandra Dubčeka v Trenčíne
Fakulta Mechatroniky |
![]() |
Autor: |
Dušan Pagáč |
Pedagogický vedúci: |
Ing. Juraj Ďuďák |
Študijný odbor: | Mechatronika
|
Akademický rok |
2009/2010
|
1. | Štruktúra webovej aplikácie |
2. | Google Gears |
3. | HTML 5 |
4 | Systémy na vizualizáciu rozvrhu |
5 | Používateľské rozhranie rozvrhu fakulty mechatroniky |
6 | Záver |
Obsah
Abstrakt
Práca sa zaoberá on-line aplikáciami, ktoré sú schopné pracovať aj v režime off-line. V prvej časti je popísaná technológia Google Gears od firmy Google, ktorá toto umožňuje. Následne sú uvedené výhody a nevýhody tejto technológie a možnosti jej praktického využitia vo webových aplikáciách. Použitie Google Gears pre rozvrh fakulty mechatroniky je analyzované v druhej časti. Posledná časť sa venuje návrhu používateľského rozhrania pre rozvrh fakulty mechatroniky a funkčnosti tejto webovej aplikácie v režime offline. |
Abstract
This work deals with on-line applications which are able to work in off-line mode. The first part is devoted to description of Google Gears technology by Google company. Consequently, the advantages and disadvantages are stated as well as the posibilities of practical usage in web aplications. The usage of Google Gears for faculty of mechatronics is analyzed in the second part. The final part is dedicated to design of user interface directly for faculty of mechatronics and functionality this web aplication in off-line mode. |
Štruktúra webovej aplikácie
Dvojvrstvové web aplikácie
Dvojvrstvová aplikácia sa skladá z klientskej a dátovej vrstvy. Klientska vrstva obsahuje väčšinu aplikačnej logiky s ktorou sa pracuje priamo nad dátovým zdrojom. Takýto dátový zdroj môže byť reprezentovaný relačnou databázou. Ďalšie zdroje môžu byť súbory alebo iné aplikácie. Schému dvojvrstvovej web aplikácie môžeme vidieť na obrázku (Obr. 1.1).
Nevýhody tohto modelu sa ukázali pri vzrastajúcej komplexnosti klientskych aplikácií. S ich zložitosťou vzrastali aj výkonové nároky na klientske počítače. S masívnym rozšírením aplikácií boli softvérové firmy nútené reagovať na požiadavky klientov. Napríklad zdieľanie zdrojov, obmedzenie dátového prenosu atď. Preto sa začalo uvažovať o trojvrstvovej architektúre, ktorá by tieto požiadavky pokryla.
Trojvrstvové web aplikácie
Nevýhody tohto modelu sa ukázali pri vzrastajúcej komplexnosti klientskych aplikácií. S ich zložitosťou vzrastali aj výkonové nároky na klientske počítače. S masívnym rozšírením aplikácií boli softvérové firmy nútené reagovať na požiadavky klientov. Napríklad zdieľanie zdrojov, obmedzenie dátového prenosu atď. Preto sa začalo uvažovať o trojvrstvovej architektúre, ktorá by tieto požiadavky pokryla.
Zmeny v klientskej vrstve
Najväčšou zmena nastala u vrstvy klientskej. Vďaka novo definovanej aplikačnej vrstve bolo možné logiku aplikácie presunúť na server tejto vrstvy. Celý výpočtový výkon bol prenesený na výkonné servery. Presunutím aplikačnej logiky na jedno miesto sme dosiahli lepšiu možnosť jej zdieľania, správy a dostupnosti. Významnou mierou sa podarilo redukovať dátový prenos, pretože komunikácia je sústredená medzi serverom a dátovým zdrojom.
Aplikačná vrstva
Z pohľadu doby prešla aplikačná vrstva najväčším vývojom. Táto vrstva resp. aplikačná logika zaisťuje prístup k dátam, prácu s dátami a ich poskytnutie vo vhodnom formáte (XML, HTML) pre klientsku vrstvu.
Model-View-Controller (MVC)
Model-view-controller je architektonický vzor využívaný pri tvorbe aplikácií, ktorý oddeľuje dátový model, užívateľské rozhranie a riadiacu logiku. Vytváranie aplikácie s využitím architektúry MVC vyžaduje tri komponenty:
Model
Model je funkčným a dátovým základom celej aplikácie. Poskytuje prostriedky pre prístup k dátovej základni, stavom aplikácie, ukladaniu a aktualizácií.
View
Model je funkčným a dátovým základom celej aplikácie. Poskytuje prostriedky pre prístup k dátovej základni, stavom aplikácie, ukladaniu a aktualizácií.
Controller
Controller definuje správanie aplikácie. Spracováva všetky vstupy a udalosti z užívateľského rozhrania. Na ich základe volá príslušné procesy Modelu, mení stav a pod. Podľa udalostí prijatých od užívateľa a podľa výsledkov akcií Modelu potom Controller vhodné View pre ďalšie zobrazenie.
Výhody vzoru MVC
- Jednoduché sprístupnenie pre rôzne druhy klientov. Pre zavedenie podpory ďalšieho klienta stačí nadefinovať len nové View. - Minimalizácia duplicity zdrojového kódu. - Rozdelenie vývojárskych úloh a samostatný vývoj jednotlivých častí. - Znovu použiteľnosť kódu. - Vysoká komplexnosť návrhu a jednoduchšia rozšíriteľnosť aplikácie.