Interaktívny simulátor DynaSim: Rozdiel medzi revíziami
(Pridanie prvej kapitoly) |
|||
Riadok 15: | Riadok 15: | ||
=Platforma NetBeans= | =Platforma NetBeans= | ||
− | + | Platforma NetBeans je framework pre Swing aplikácie. NetBeans bol pôvodne vyvíjaný ako študentský projekt na Karlovej Univerzite v Prahe. Projekt kúpila v roku 1999 spoločnosť Sun a v roku 2000 z neho spravila open-source projekt. Platforma poskytuje pre aplikácie na nej vyvíjané ukladanie stavu, prepájanie akcií s menu položkami, toolbary, klávesové skratky, či správu okien a mnohé ďalšie veci, ktoré predtým musel každý vývojár písať samostatne. | |
+ | NetBeans platforma poskytuje spoľahlivú a flexibilnú aplikačnú architektúru. Aplikácie postavené na tejto platforme nemusia nutne vypadať ako NetBeans IDE, ktoré je tiež postavené na nej. Využitím NetBeans platformy je možné ušetriť mnohé mesiace vývoja. | ||
+ | Za posledných niekoľko rokov sa zvýšila popularita ''rich-client'' desktopových platforiem. Tento trend viedli práve NetBeans platforma a Eclipse RCP. Kým Eclipse RCP je založená na SWT a JFace, čo sú nové neštandardné štýly a koncepty, platformna NetBeans je kompletne závislá od štandardných Java API s použitím AWT a Swing, čím plne integruje pôvodný koncept Java SE. | ||
+ | |||
+ | ==Charakteristiky Rich Client Platformy== | ||
+ | Rich-client platforma je aplikačné prostredie – základ desktopových aplikácií. Väčšina desktopových aplikácií má podobné vlastnosti ako sú rôzne menu, toolbary, status bary, zobrazovanie dát, ukladanie a nahrávanie užívateľsky špecifických dát a pod. Na tieto a ďalšie typické vlastnosti klientských aplikácií rich-client platforma poskytuje framework, s ktorým sa tieto vlastnosti dajú jednoducho spojiť dokopy. Framework takéhoto druhu sa zameriava na konfigurovateľnosť a rozšíriteľnosť aplikácie. | ||
+ | Najdôležitejším aspektom rich-client platformy je jej architektúra. Aplikácie založené na rich-client platforme sú písané vo forme modulov, v ktorých sú logicky koherentné časti aplikácie izolované. | ||
+ | Okrem Modularity ponúkanej rich-client architektúrou, ktorá poskytuje vysokú mieru robustnosti a hodnoty pre koncového užívateľa, poskytuje aj ďalšie výhody a to: | ||
+ | *Zníženie vývojového času | ||
+ | *Konzistentnosť užívateľského rozhrania | ||
+ | *Možnosť updatovania | ||
+ | *Platformovú nezávislosť | ||
+ | *Znovupoužiteľnosť a spoľahlivosť | ||
+ | |||
+ | '''Zníženie vývojového času''' – Rich-client platforma poskytuje viacero API pre vývoj desktopových aplikácií. Vďaka znovupoužiteľnosti mnohých preddefinovaných komponentov sú vývojári schopní koncentrovať sa na funkčnú logiku aplikácie. | ||
+ | |||
+ | '''Konzistentnosť užívateľského rozhrania''' – Rich-client platforma poskytuje framework pre zobrazenie užívateľského rozhrania a obzvlášť sa stará o konzistentnosť, prístupnosť a použiteľnosť. | ||
+ | |||
+ | '''Možnosť updatovania''' – Za použitia rich-client platformy je možné rýchlo a efektívne distribuovať nové alebo updatované moduly koncovým užívateľom. Updaty môžu byť distribuované a inštalované formou modulov, to znamená, že nové nekonfliktné prvky aplikácie môžu byť vyvíjané nezávisle druhým vývojárskym týmom. | ||
+ | |||
+ | '''Platformová nezávislosť''' - Rich-client platformy sú založené na medzinárodných štandardoch a znovupoužiteľných komponentoch. To znamená, že Java aplikácie na nich postavené sú automaticky spustiteľné na rôznych operačných systémoch ako sú Windows, či Linux, ak majú k dispozícii Java Runtime Environment. | ||
+ | |||
+ | '''Znovupoužiteľnosť a spoľahlivosť''' – Rich-client platformy poskytujú širokú škálu modulov a funkcií, ktoré môžu byť využité vo vytváranej aplikácii. Ak modul úplne nezodpovedá požiadavkám aplikácie, je možné ho použiť ako počiatočný bod a následne ho rozšíriť alebo zmeniť podľa potreby. Keďže väčšina platforiem dáva k dispozícii aj svoje zdrojové kódy, niekedy môže byť výhodnejšie zmeniť alebo rozšíriť platformu samotnú. Tieto faktory implikujú veľkú mieru spoľahlivosti a voľnosti. | ||
+ | |||
+ | ==Charakteristiky Platformy NetBeans== | ||
+ | Platforma NetBeans ponúka okrem bežných výhod rich-client platformy viacero frameworkov a niekoľko ďalších špecifík, ktoré môžu byť užitočné pre niektoré aplikácie. Za zmienku stojí napríklad: | ||
+ | *Framework pre užívateľské rozhranie | ||
+ | *Data editor | ||
+ | *Customization display | ||
+ | *Wizard framework | ||
+ | *Data systémy | ||
+ | *Medzinárodnosť | ||
+ | *Help system | ||
+ | |||
+ | '''Framework pre užívateľské rozhranie''' – Okná, menu, toolbary a daľšie komponenty sú poskytované platformou. To znamená, že sa vývojár môže sústrediť na špecifické úlohy, čo zmenší dĺžku kódu a zníži náchylnosť na chybu. Celý užívateľský interface v platforme NetBeans je založený na AWT/Swing. | ||
+ | |||
+ | '''Data Editor''' – je editor z NetBeans IDE a môžu ho používať aj iné aplikácie. Nástroje a funkčnosť editora môžu byť rýchlo a ľahko rozšírená a adaptovaná na požiadavky aplikácie. | ||
+ | |||
+ | '''Customization display''' – Displej s užívateľsky a aplikačne špecifickými nastaveniami je potrebný v každej aplikácii. | ||
+ | |||
+ | '''Wizard Framework''' – Platforma NetBeans ponúka jednoduché nástroje na tvorbu rozšíriteľých a user-friendly asistentov, ktorí budú užívateľa sprevádzať cez komplexné kroky v aplikácii. | ||
+ | |||
+ | '''Data Systémy''' – U platformy NetBeans, dáta môžu byť lokálne alebo prístupné cez FTP, CVS, databázu, alebo XML súbor. Dátový prístup z jedného modulu je transparentný pre všetky ostatné moduly vďaka použitiu abstrakcie. Samotný dátový prístup je riešený pomocou NetBeans API. | ||
+ | |||
+ | '''Medzinárodnosť''' – Platforma NetBeans poskytuje triedy a metódy na preklad JavaHelp a ďalších zdrojov do cudzích jazykov. | ||
+ | |||
+ | '''Help System''' – Pomocou štandardného JavaHelp systému, NetBeans platforma ponúka centrálny systém pre integráciu a zobrazovanie nápovedy pre koncového užívateľa. Samostatné moduly môžu pridať ich vlastné nápovedy do help systému aplikácie. | ||
+ | |||
+ | ==Architektúra Platformy NetBeans== | ||
+ | Základným stavebným blokom platformy NetBeans je modul. Modul je kolekcia funkčne súvisiacich tried, spoločne s popisom rozhraní ktoré modul poskytuje a popisom ďalších modulov, ktoré potrebuje na to aby fungoval. Celá platforma NetBeans, rovnako ako aj aplikácie na nej postavené sú rozdelené do modulov. Tie sú nahraté jadrom Platformy NetBeans, ktoré sa nazýva NetBeans runtime container. NetBeans runtime container loaduje aplikačné moduly dynamicky a automaticky a následne je aj zodpovedný za beh aplikácie. V tomto prípade je NetBeans IDE dobrým príkladom modulárnej rich-client aplikácie. Funkčnosť a charakteristiky IDE ako napríklad podpora jazyku Java alebo editor zdrojového kódu , sú tvorené formou modulov postavených na Platforme Netbeans. To so sebou prináša možnosť rozšíriť aplikáciu o ďalšie moduly a možnosť adaptácie na špecifické požiadavky užívateľa tým, že sa nepoužívané moduly deaktivujú alebo odinštalujú. | ||
+ | |||
+ | [[Súbor:obr1.jpg|center|framed|Obr.1 Konceptuálna štruktúra NetBeans IDE]] | ||
+ | |||
+ | Aby aplikácia dosiahla takýto stupeň modularity, Platforma Netbeans na jednej strane dovoľuje modulom dedičnosť inými modulmi a na strane druhej im dovoľuje komunikovať medzi sebou bez vzájomnej závislosti na sebe. Inými slovami Platforma NetBeans podporuje loose coupling (voľné prepojenie) modulov v rámci aplikácie. | ||
+ | Na optimalizáciu zapúzdrenia kódu do modulov. Čo je v modulárnom systéme nevyhnutné, Platforma NetBeans poskytuje svoj vlastný classloader systém. Každý modul je nahratý jeho classloaderom a tým sa sprístupní separátna nezávislá časť kódu. Na využitie funkčnosti ostatných modulov, modul môže deklarovať závislosti (dependency) na iných moduloch. | ||
+ | Samotná platforma NetBeans je sformovaná zo skupiny jadrových modulov (Obr.2), ktoré sú potrebné na spustenie aplikácie a na definovanie jej užívateľského rozhrania. Platforma NetBeans ponúka veľké množstvo API, čím značne zjednodušuje vývojový proces. Do tejto skupiny patria napríklad Actions API, Nodes API, Options SPI a ďalšie. | ||
+ | |||
+ | [[Súbor:ArchitekturaNetBeans.jpg|center|framed|Obr.2 Architektúra Platformy NetBeans]] |
Verzia zo dňa a času 00:24, 24. február 2010
![]() |
Trenčianska Univerzita Alexandra Dubčeka v Trenčíne
Fakulta Mechatroniky |
![]() |
Autor: | Bc. Michal Janíček |
Pedagogický vedúci: |
Ing. Juraj Ďuďák |
Študijný odbor: | Mechatronika
|
Akademický rok |
2009/2010
|
Obsah
Abstrakt
slovensky |
Abstract
anglicky |
Platforma NetBeans
Platforma NetBeans je framework pre Swing aplikácie. NetBeans bol pôvodne vyvíjaný ako študentský projekt na Karlovej Univerzite v Prahe. Projekt kúpila v roku 1999 spoločnosť Sun a v roku 2000 z neho spravila open-source projekt. Platforma poskytuje pre aplikácie na nej vyvíjané ukladanie stavu, prepájanie akcií s menu položkami, toolbary, klávesové skratky, či správu okien a mnohé ďalšie veci, ktoré predtým musel každý vývojár písať samostatne. NetBeans platforma poskytuje spoľahlivú a flexibilnú aplikačnú architektúru. Aplikácie postavené na tejto platforme nemusia nutne vypadať ako NetBeans IDE, ktoré je tiež postavené na nej. Využitím NetBeans platformy je možné ušetriť mnohé mesiace vývoja. Za posledných niekoľko rokov sa zvýšila popularita rich-client desktopových platforiem. Tento trend viedli práve NetBeans platforma a Eclipse RCP. Kým Eclipse RCP je založená na SWT a JFace, čo sú nové neštandardné štýly a koncepty, platformna NetBeans je kompletne závislá od štandardných Java API s použitím AWT a Swing, čím plne integruje pôvodný koncept Java SE.
Charakteristiky Rich Client Platformy
Rich-client platforma je aplikačné prostredie – základ desktopových aplikácií. Väčšina desktopových aplikácií má podobné vlastnosti ako sú rôzne menu, toolbary, status bary, zobrazovanie dát, ukladanie a nahrávanie užívateľsky špecifických dát a pod. Na tieto a ďalšie typické vlastnosti klientských aplikácií rich-client platforma poskytuje framework, s ktorým sa tieto vlastnosti dajú jednoducho spojiť dokopy. Framework takéhoto druhu sa zameriava na konfigurovateľnosť a rozšíriteľnosť aplikácie. Najdôležitejším aspektom rich-client platformy je jej architektúra. Aplikácie založené na rich-client platforme sú písané vo forme modulov, v ktorých sú logicky koherentné časti aplikácie izolované. Okrem Modularity ponúkanej rich-client architektúrou, ktorá poskytuje vysokú mieru robustnosti a hodnoty pre koncového užívateľa, poskytuje aj ďalšie výhody a to:
- Zníženie vývojového času
- Konzistentnosť užívateľského rozhrania
- Možnosť updatovania
- Platformovú nezávislosť
- Znovupoužiteľnosť a spoľahlivosť
Zníženie vývojového času – Rich-client platforma poskytuje viacero API pre vývoj desktopových aplikácií. Vďaka znovupoužiteľnosti mnohých preddefinovaných komponentov sú vývojári schopní koncentrovať sa na funkčnú logiku aplikácie.
Konzistentnosť užívateľského rozhrania – Rich-client platforma poskytuje framework pre zobrazenie užívateľského rozhrania a obzvlášť sa stará o konzistentnosť, prístupnosť a použiteľnosť.
Možnosť updatovania – Za použitia rich-client platformy je možné rýchlo a efektívne distribuovať nové alebo updatované moduly koncovým užívateľom. Updaty môžu byť distribuované a inštalované formou modulov, to znamená, že nové nekonfliktné prvky aplikácie môžu byť vyvíjané nezávisle druhým vývojárskym týmom.
Platformová nezávislosť - Rich-client platformy sú založené na medzinárodných štandardoch a znovupoužiteľných komponentoch. To znamená, že Java aplikácie na nich postavené sú automaticky spustiteľné na rôznych operačných systémoch ako sú Windows, či Linux, ak majú k dispozícii Java Runtime Environment.
Znovupoužiteľnosť a spoľahlivosť – Rich-client platformy poskytujú širokú škálu modulov a funkcií, ktoré môžu byť využité vo vytváranej aplikácii. Ak modul úplne nezodpovedá požiadavkám aplikácie, je možné ho použiť ako počiatočný bod a následne ho rozšíriť alebo zmeniť podľa potreby. Keďže väčšina platforiem dáva k dispozícii aj svoje zdrojové kódy, niekedy môže byť výhodnejšie zmeniť alebo rozšíriť platformu samotnú. Tieto faktory implikujú veľkú mieru spoľahlivosti a voľnosti.
Charakteristiky Platformy NetBeans
Platforma NetBeans ponúka okrem bežných výhod rich-client platformy viacero frameworkov a niekoľko ďalších špecifík, ktoré môžu byť užitočné pre niektoré aplikácie. Za zmienku stojí napríklad:
- Framework pre užívateľské rozhranie
- Data editor
- Customization display
- Wizard framework
- Data systémy
- Medzinárodnosť
- Help system
Framework pre užívateľské rozhranie – Okná, menu, toolbary a daľšie komponenty sú poskytované platformou. To znamená, že sa vývojár môže sústrediť na špecifické úlohy, čo zmenší dĺžku kódu a zníži náchylnosť na chybu. Celý užívateľský interface v platforme NetBeans je založený na AWT/Swing.
Data Editor – je editor z NetBeans IDE a môžu ho používať aj iné aplikácie. Nástroje a funkčnosť editora môžu byť rýchlo a ľahko rozšírená a adaptovaná na požiadavky aplikácie.
Customization display – Displej s užívateľsky a aplikačne špecifickými nastaveniami je potrebný v každej aplikácii.
Wizard Framework – Platforma NetBeans ponúka jednoduché nástroje na tvorbu rozšíriteľých a user-friendly asistentov, ktorí budú užívateľa sprevádzať cez komplexné kroky v aplikácii.
Data Systémy – U platformy NetBeans, dáta môžu byť lokálne alebo prístupné cez FTP, CVS, databázu, alebo XML súbor. Dátový prístup z jedného modulu je transparentný pre všetky ostatné moduly vďaka použitiu abstrakcie. Samotný dátový prístup je riešený pomocou NetBeans API.
Medzinárodnosť – Platforma NetBeans poskytuje triedy a metódy na preklad JavaHelp a ďalších zdrojov do cudzích jazykov.
Help System – Pomocou štandardného JavaHelp systému, NetBeans platforma ponúka centrálny systém pre integráciu a zobrazovanie nápovedy pre koncového užívateľa. Samostatné moduly môžu pridať ich vlastné nápovedy do help systému aplikácie.
Architektúra Platformy NetBeans
Základným stavebným blokom platformy NetBeans je modul. Modul je kolekcia funkčne súvisiacich tried, spoločne s popisom rozhraní ktoré modul poskytuje a popisom ďalších modulov, ktoré potrebuje na to aby fungoval. Celá platforma NetBeans, rovnako ako aj aplikácie na nej postavené sú rozdelené do modulov. Tie sú nahraté jadrom Platformy NetBeans, ktoré sa nazýva NetBeans runtime container. NetBeans runtime container loaduje aplikačné moduly dynamicky a automaticky a následne je aj zodpovedný za beh aplikácie. V tomto prípade je NetBeans IDE dobrým príkladom modulárnej rich-client aplikácie. Funkčnosť a charakteristiky IDE ako napríklad podpora jazyku Java alebo editor zdrojového kódu , sú tvorené formou modulov postavených na Platforme Netbeans. To so sebou prináša možnosť rozšíriť aplikáciu o ďalšie moduly a možnosť adaptácie na špecifické požiadavky užívateľa tým, že sa nepoužívané moduly deaktivujú alebo odinštalujú.
Aby aplikácia dosiahla takýto stupeň modularity, Platforma Netbeans na jednej strane dovoľuje modulom dedičnosť inými modulmi a na strane druhej im dovoľuje komunikovať medzi sebou bez vzájomnej závislosti na sebe. Inými slovami Platforma NetBeans podporuje loose coupling (voľné prepojenie) modulov v rámci aplikácie. Na optimalizáciu zapúzdrenia kódu do modulov. Čo je v modulárnom systéme nevyhnutné, Platforma NetBeans poskytuje svoj vlastný classloader systém. Každý modul je nahratý jeho classloaderom a tým sa sprístupní separátna nezávislá časť kódu. Na využitie funkčnosti ostatných modulov, modul môže deklarovať závislosti (dependency) na iných moduloch. Samotná platforma NetBeans je sformovaná zo skupiny jadrových modulov (Obr.2), ktoré sú potrebné na spustenie aplikácie a na definovanie jej užívateľského rozhrania. Platforma NetBeans ponúka veľké množstvo API, čím značne zjednodušuje vývojový proces. Do tejto skupiny patria napríklad Actions API, Nodes API, Options SPI a ďalšie.